Autor Wątek: [SOLVED] Aplikacja nie widzi PerfHUDa.  (Przeczytany 889 razy)

Offline Zombiak

  • Użytkownik

# Listopad 05, 2008, 16:21:38
Mam bardzo dziwny błąd, otóż zrobiłem wszystko jak jest opisane w manualu, aby dobrać się do adaptera PerfHUDa. Niestety zawsze GetAdapterCount() zwraca 1, niezależnie czy odpalam aplikację przez perfa czy nie. Dla pewności sprawdziłem na demku Blobs z DXSDK, perfhud jak najbardziej działa. Nie jest to tez błąd Visual jak to próbują goście od NV wciskać na swoim forum(niestety mail rejestracyjny nie dochodzi, więc nie mogę tam opisać problemu), po przekompilowaniu Blobsów dalej wszystko jest OK. Nie wiem już, co dalej robić, ręczne włączenie instrumentation drivera nie daje nic, iterowanie dalej po adapterach bez względu na ich faktyczną ilość kończy się niepowodzeniem. To jest kawałek mojego kodu, mam nadzieję, że coś poradzicie:
UINT adapter = D3DADAPTER_DEFAULT;
D3DDEVTYPE type = settings.deviceType;
if(settings.perfHUD)
{
D3DADAPTER_IDENTIFIER9 id;
for(UINT i=0;i<=dev->d3d->GetAdapterCount();i++)
{
dev->d3d->GetAdapterIdentifier(i,0,&id);
MessageBox(0,id.Description,0,0);
if(strstr(id.Description,"PerfHUD")!=0)
{
adapter=i;
type = D3DDEVTYPE_REF;
//break;
}
}

}
dev->d3d->CreateDevice(adapter,type,dev->hwnd,settings.behaviorFlags,&dev->presentParams,&dev->device);

PS. Po uruchomieniu przez perfhud nie mam nawet tego czerwonego, warninga, że nie używam prawidłowego adaptera.

Już mam, przeniosłem tworzenie okna przed inicjalizację directx i chodzi. Zapewne perfhud czeka z hookiem na d3d do momentu utworzenia okienka, nie wiem tylko, po co.
« Ostatnia zmiana: Listopad 05, 2008, 18:36:45 wysłana przez Aaa »

Offline Mr. Spam

  • Miłośnik przetworów mięsnych