Upcoming Events
Southwest Gaming Expo
11/20 - 11/22 @ Dallas, TX

Workshop on Network and Systems Support for Games (NetGames 2009)
11/23 - 11/25 @ Paris, France

ICIDS 2009 Interactive Storytelling
12/9 - 12/11 @ Guimarães, Portugal

Global Game Jam
1/29 - 1/31  

More events...


Quick Stats
5977 people currently visiting GDNet.
2341 articles in the reference section.

Help us fight cancer!
Join SETI Team GDNet!



Link to us

Link to us

Home » Features » Product Reviews » NVPerfHUD 4.0
  Intel sponsors gamedev.net search:   

Product Reviews
Jump to:
Software
All product reviews

Product: NVPerfHUD 4.0
Developer: NVIDIA
Reviewer: Bryan Mau
Posted: June 21, 2006
Rating:
Discuss this review

NVPerfHUD 4.0
by Bryan Mau

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.

Installation

Frame Profiler mode screen grab
Frame Profiler mode

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.

Documentation

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.

New Features

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.

Conclusion

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.