Thoughts

Our worry before starting a review of PerfHUD was that we wouldn't be able to do it justice with a mere demo. It turns out that PerfHUD scales nicely to all types of rendering projects and applications. We've been priviledged to be able to use PerfHUD to look not just at Andy's demo, but our own benchmarks and tools, and also in recent days an analysis of a shipping D3D10 game.

While a more complex project shows up the limitations of what PerfHUD is capable of sooner than a smaller one, the basics of analysis and debugging work very well in any project type, and it's those basics that PerfHUD does, in our opinion and limited to our experience with other development assistance tools, better than any other real-time and per-frame analysis system.

Integrated into a debugging environment where you're also making use of other tools like PIX, basic workflow can be frustrating because of how you have to use PerfHUD in stop-start fashion. It won't have escaped the knowledgeable reader's attention that it's also limited to working on systems with an NVIDIA GPU installed, and where that GPU is being driven by one of NVIDIA's instrumented drivers.

The latter condition means you're always out of step with the cutting edge of NVIDIA's driver releases. While that cutting edge of NVIDIA's graphics driver isn't always the best place in the world to be, the availability and release cadence of the instrumented driver and PerfHUD means that -- and this may be different for the more influential developers -- if you hit up on a problem caused by the driver, getting a fix can take (too much, in our opinion) time.

We've been preaching about the release frequency of the instrumented driver, and that it's not good enough, to NVIDIA for months. Noise gets made about how they want to improve it, but we're yet to see the fruits of any labours there.

For assistance with using PerfHUD, you've got the user guide, which is well written and definitely gets you up to speed. Thumbs up to the guys who worked on that. You've also got the new public NVIDIA developer forums, which while a little slow on the PerfHUD front (Randy's been ill recently with the flu, something that has me in its grips as I type this), is looked at constantly by the NVIDIA devrel and devtech teams and there's usually a response or help from someone at NVIDIA to all queries within good time.

To sum up, PerfHUD 5 has limitations, sometimes frustrating, but it's something any 3D application developer should be looking to use if GeForce is a deployment target. As a inspector of executing state and performance of a GPU under Windows, PerfHUD is peerless in a number of crucial areas. We'll be looking at AMD GPU PerfStudio to see how close it gets to PerfHUD's obvious standard.

Update

NVIDIA got in touch to let us know that the driver instrumentation is now unified with the main driver internally to NVIDIA, and they're just waiting for a nice sync point to start pushing drivers out at the same rate as the main display driver, which is great news! That might be with PerfHUD 5.1 or it might be sooner, and we'll keep you posted.