Menu Descriptions

This chapter describes the options available in the PerfHUD menu bar.


Open Session

Open a custom XML file. Users rarely need to do this because the default.xml, or.perfhudes.xml in Linux, is automatically opened at startup. For more information, see Session File XML. Ctrl+O for shortcut.

Save Session

Save the current settings to a custom XML file. Users rarely need to do this because the default.xml, or.perfhudes.xml in Linux, is always automatically updated when closing the PerfHUD host. Ctrl+S for shortcut.


Connect to a target device which is already available from ActiveSync. For example, AP15 with WinCE6 should use this one. ActiveSync and TCP/IP are two available connection types for Tegra. The system will use ActiveSync by default. When you didn’t have ActiveSync installed, you may see an error message box for initialization. If you only have TCP/IP connection, just click OK and use “IP Address” connection instead. Ctrl+A for shortcut.

IP Address

Connect to a target device over TCP/IP. This could be used when a direct TCP/IP connection exists between host and target. If you manually change the connection type to TCP/IP, you are not allowed to switch back to ActiveSync connection. Ctrl+I for shortcut.

Reset Connection

Manually reset the connection. Users rarely need to do this because the host automatically “times out” when an error condition occurs. F5 for shortcut.


Closes the PerfHUD host.


Mode Bar

Toggle visibility of the vertical pane on the left.

Status Bar

Toggle visibility of the status pane on the bottom.

Audio Notifications

If desired, the resource upload lights can be accompanied by an audible clicking sound.

Stepped Graphs

This is an alternative style for line graphs that uses a “square wave” type of pattern.

Smooth Scrolling

If enabled, the heartbeat graphs lag slightly behind real time, but they scroll by in a more regular and smooth fashion.

Device Info

If connected to a device, this menu item brings up a dialog box that shows various information about the target device, e.g., the version of OpenGL ES and which extensions are supported.


Scrub Mode

Change the method used to render images in Frame Scrubber.

Break on GL Errors

When enabled, the host automatically switches from Performance Dashboard to Frame Debugger when a GL error occurs.

Break on Frame Number

When enabled, the mode switches to Frame Debugger after a given number of frames (i.e., buffer swaps), where frame 1 is the first frame. The user should set up this breakpoint before starting the target application. The menu option is disabled while the host is connected to the target. Frame counting begins as soon as target application starts running; it does NOT wait until the PerfHUD connection is established. To disable the breakpoint, set the desired frame number to zero.

Break on FPS

When enabled, the mode switches to Frame Debugger when the frames-per-second is less than or equal to the given value. Set the FPS value to zero to disable the breakpoint.

Force Clear

Force clear is used to enable a forced frame clear for color/stencil/depth buffers, before capturing inside the Frame Debugger. In many cases, the game developer will ensure every pixel is updated for each frame. This doesn't clear the frame to improve performance; instead, it focuses the current frame and omits the previous frame legend.

Enable User Shaders

If any user shaders have been created in the Shader Viewer, this setting forces them all to be used in place of the original shaders.

Set Frame Delimiters

This option brings up the Frame Delimiters dialog and allows the user to define which API call will be used to define the end of a "frame."

Set Generic Counters

This dialog is used to let user configure what generic driver time counters are counted. We have 4 generic driver time counters. The concept of generic driver time counter is similar to a slot. You can configure the slot to let it collect APIs you are interested in to count the final value. For example, you want to know how many time spent on all glUseProgram API, you can modify the generic counter 0~3 to include only one API glUseProgram. And the counter will be shown in the time graph.

Set Profile Graphs

In the frame profiler, we can define several graphs to display hardware counters from target side. You can configure the graph via this dialog. (See Appendix D for explanations of the counters.) 

Change Tab Width

Change the width of tabs in Shader Viewer.

Show Line Numbers

Show line numbers in Shader Viewer.

Modify search paths

Add or re-order the search path list used to look up high-level source.

Load debugger frame

Loads a debugging database from a PHF file and jumps to Frame Debugger.

A profile frame PHP file can be loaded after a debug frame PHF file and vice versa. Then the profiler and debugger frame can be switched to each other to help analysis the result. The PHF and PHP files are supposed to be captured at the same frame or very similar frame.

Save debugger frame

Save all current debugging information to a PHF file. A saved debugger frame is useful for diagnosing a problem while being disconnected from the target device.

Load profiler frame

Loads a profiling database from a PHP file and jumps to Frame Profiler.

Save profiler frame

Save all current profiling information to a PHP file. A saved profiler frame is useful for diagnosing a problem while being disconnected from the target device.

Shortcut Mapping
Keys Function
Ctrl + O Open a session
Ctrl + S Save a session
Ctrl + I IP Address
F5 Reset connection
Ctrl + P Performance Dashboard
Ctrl + D Frame Debugger
F1 User manual
Ctrl + R Reset frame rate counter


PerfHUD ES User Manual

Use this to open the user manual in your system default PDF viewer. F1 for shortcut.


Use this to see the version number of PerfHUD ES. A button is provided to copy this information to the clipboard, in case the user needs to pass this on for support.




NVIDIA® GameWorks™ Documentation Rev. 1.0.211026 ©2014-2021. NVIDIA Corporation and affiliates. All Rights Reserved.