PerfHUD ES provides in-depth analysis of OpenGL ES applications on Tegra based devices. In order to target optimizations where they are most needed, developers are given access to GPU performance and bottleneck information. The debugging capabilities provide insight into the state of the OpenGL ES pipeline, related textures and shaders, and all rendering states to help find the causes for improper setup and rendering anomalies.

Download the latest version of NVIDIA PerfHUD ES for Android in CodeWorks for Android. PerfHUD ES is offered free of charge, but requires NVIDIA Registered Developer Program membership.

 Download   Documentation 

Standalone PerfHUD ES downloads are also available at NVIDIA GameWorks™ Download Center


  • Monitor CPU utilization in real-time
  • Graph pertinent frame statistics in real-time
  • Visualize the number of draw calls per frame
  • Per-project and per-file parallel compilation.
  • Directed tests help identify performance issues
  • Monitor memory usage
  • Monitor draw call efficiency
  • Examine all aspects of the rendered frame, including API calls, errors, geometry, textures, shaders and pipeline state
  • See the current frame draw call by draw call
  • Scrub through all of the draw calls in a frame
  • “Bucket” draw calls that share common render state
  • Examine “buckets” by cost
  • Examine draw calls by cost
  • Examine in-depth profiling data for each draw call in the frame
  • Scrub through all of the draw calls in a frame

To enable PerfHUD ES

PerfHUD ES is enabled through a system property, which does not require root access on the device.
  • To enable PerfHUD ES, run the following command: “adb shell setprop debug.perfhudes 1“
  • To disable PerfHUD ES, run the following command: “adb shell setprop debug.perfhudes 0“
A few points to keep in mind:
  • This property MUST be set before the application to be debugged is launched.
  • The property MUST be set each time the device is rebooted. 

PerfHUD ES Reference


To provide feedback, request additional features or report support issues, please use the Tegra Developer Forums.

System Requirements

Supported Operating Systems for PerfHUD ES client:

  • Windows 7/8
  • Mac OS X
  • Linux (32 bit and 64 bit Ubuntu)

Developer Webinars

Instructional Videos and Webinars can be found here.

PerfHUD ES 2.2 Release Notes

NVIDIA SHIELD support on PerfHUD ES 2.2 requires the latest software updates. Go to Settings -> About SHIELD -> System updates on your NVIDIA SHIELD to download and install the latest updates prior to using the device with PerfHUD ES 2.2.


  • Frame scrubbing has been improved, and users may see up to 10x faster scrubbing when capturing a frame. .
  • GL_NV_blend_equation_advanced is now supported.
  • Retrospect 2x2 texture and zero viewport in Frame Debugger and Frame Profiler mode.
  • Various bug fixes.

Bug Fixings:


  • Show correct bucket id and contribution in the Bucket List.
  • Fix crashes for user shader in recapturing frame after editing, applying it or deleting it in Shader Viewer.
  • Fix wrong range or crash for pack vbo buffer when stride exists in Geometry Viewer.
  • Fix mismatch of uniform values between detail view and tooltip in program tree in Shader Viewer.
  • Disable "Capture next frame" button when load debugger frame or profiler frame.


  • Fix the fps decrease problem when "Disable Filtering" directed test is enabled.
  • Exclude glClear()  from Draw Calls per Frame in Performance Dashboard.
  • Fix force clear on stencil buffer and incomplete FBO.
  • Fix crashing when VBO is mapped.
  • Fix "Null Viewport" directed test.
  • Disable counter 'GPU Idle' on T30.


Archived release notes for previous versions are available here.