View Full Version : NVidia PerfHUD 5.0 troubleshooting
psorcerer
20-Aug-2007, 10:19
Does it work at all?
Because every application I've tried to run through gets only 1 in GetAdapterCount, which means no PerfHUD adapter at runtime.
And Nvidia does not have any older versions on site.
I have the same problem, there is no adapter matching the adapter name that is required (containing "NVPerfHUD" or so).
Also, only 1 adapter is enumerated.
However, creating a REF instead of HAL using the single default adapter allows me to use the tool.
Maybe an error in the doc.
The PerfHUD device needs to be created with Reference flags, as you note, and it won't show up in an device enumeration. That's by design, to stop the profiling of applications without specific support (you you ifdef out the device create with release build options).
psorcerer
20-Aug-2007, 12:38
The PerfHUD device needs to be created with Reference flags, as you note, and it won't show up in an device enumeration. That's by design, to stop the profiling of applications without specific support (you you ifdef out the device create with release build options).
Correct me if I'm wrong, but it means that because a lot of stupid people were leaving support for perfhud in release code, now I need to use the ref rasterizer and I'll be set?
you have to specify REF when you create the device, however, the normal HAL device will be used.
this is just to enable NVPerfHUD support.
psorcerer
20-Aug-2007, 12:45
Adapter = 0;
DeviceType = D3DDEVTYPE_REF;
Err... does not work either.
Just use the initialization routine provided in the documentation.
And are you even dropping the application on the PerfHUD icon when you want to use it?
psorcerer
20-Aug-2007, 14:10
Just use the initialization routine provided in the documentation.
// Set default settings
UINT AdapterToUse=D3DADAPTER_DEFAULT;
D3DDEVTYPE DeviceType=D3DDEVTYPE_HAL;
#if SHIPPING_VERSION
// When building a shipping version, disable PerfHUD (opt-out)
#else
// Look for 'NVIDIA PerfHUD' adapter
// If it is present, override default settings
for (UINT Adapter=0;Adapter<g_pD3D->GetAdapterCount();Adapter++)
This is from docs.
g_pD3D->GetAdapterCount() = 1
So?
And are you even dropping the application on the PerfHUD icon when you want to use it?
Yes, pal. I'm not so stupid.
Yes, pal. I'm not so stupid.
I didn't say that. But if the PerfHUD-Adapter is not enumerated something is wrong at that point. Are you SURE you start the App correctly with PerfHUD?
psorcerer
20-Aug-2007, 14:48
I didn't say that. But if the PerfHUD-Adapter is not enumerated something is wrong at that point. Are you SURE you start the App correctly with PerfHUD?
Hmm...strange, when I create device in exe itself - it works perfectly, but in my case I have dlls with abstraction layers: OpenGL, D3D so when I create device in dll - it does not work.
Strange.
psorcerer: so do I, device creation is performed in renderer dll. and it works...
Are you use the corresponding drive?
If you still can't solve this problem,you can write a email to nvidia.
There's also NVIDIA's PerfHUD forum (http://developer.nvidia.com/forums/index.php?showforum=4) at developer.nvidia.com. Randy and Jeff are pretty active over there helping users out.
vBulletin® v3.8.6, Copyright ©2000-2013, Jelsoft Enterprises Ltd.