|
Jump to: Software All product reviews |
|
NVPerfHUD is a debugging and performance analysis tool for NVIDIA video cards. It's for DirectX applications and uses instrumentation in the NVIDIA display drivers to do its magic. It supports any NVIDIA GPU based card (GeForce 3+) but has increased functionality with more recent GPUs.
NVPerfHUD is free but requires an NVIDIA card.
NVPerfHUD's interface is overlayed on your application's interface. It has several continuously updated graphs showing information such as the time to draw each frame, how much the CPU is stalled on the GPU, how much the GPU is idle, graphics memory consumption, and the rate of DrawPrimitive calls. This alone makes the tool worthwhile but the real meat is in its various analysis modes.
When you hit a user defined hotkey sequence NVPerfHUD is activated. From its interface you can run numerous experiments to determine the bottlenecks in the application. These features are organized into several modes each with their own panels:
For more information on these modes see our NVPerfHUD 3 Review.
NVPerfHUD is now shipped as part of NVPerfKit 2.0. Although NVPerfHUD is the most visible and sexy part of NVPerfKit, NVPerfKit 2.0 also includes the instrumented driver, NVPerfSDK, a plug-in for Microsoft PIX, GLExpert, and a trial edition of gDEBugger. The installer allows you to pick the parts you want. Installation is quite smooth unless you have an instrumented driver already installed. If you do the installer asks you to manually uninstall the driver and reboot before installing NVPerfKit.
The documentation comes in the form of two PDF files: a User Manual and a useful two page Quick Reference Guide. The user manual is well written and contains information on how to configure your application to use NVPerfHUD, functional descriptions of all of the modes and controls, and sections on understanding how to use the tool to solve problems. NVPerfHUD's interface is easy enough to use and to feel your way through but GPU debugging and profiling contains many subtleties. I highly recommend reading the manual before seriously using this tool.
Most of the changes to NVPerfHUD are incremental: support for newer hardware, cleaned up displays and graphs, better filtering and customization options, and more.
Worthy of mention are two new features to the Performance Dashboard. One is the addition of the "Unit Utilization Graphs" to provide a quick look at which GPU units (vertex assembly, vertex shader, etc...) are being exercised at the moment. The other is the ability adjust the playback speed from 1/8 to 6x to help find a particular frame to debug/profile.
The big new feature to NVPerfHUD 4 is the Frame Profiler mode. It's similar to the Frame Debugger but it allows you to analyze the cost of a frame down to the primitive level. It provides many options to sort and filter the data to do meaningful analysis. For example you can see the amount of time spent in each of the GPU units or the % utilization of each primitive.
The frame debugger really blew me away in version 3. In version 4 the frame profiler has to be seen to be believed.
With version 4 a great tool is even better. NVIDIA keeps pushing the envelope of providing excellent tools to help developers create great products. If you develop DirectX applications and don't have an NVIDIA card this tool alone justifies the cost of a new card.
It's hard to imagine a serious DirectX developer not using this tool.