Empty PerfHUD ES Graphs

I'm attempting to use PerfHUD ES to profile our game, but I'm unsure if I have everything configured properly.

I'm using the command "adb shell setprop debug.perfhudes 1" to enable PerfHUD ES on the OUYA. I've modified our main loop to use the eglGetSystemTimeNV method for time updates, and am able to change the game simulation speed with the Speed Bar in the Performance Dashboard. I've also confirmed that the device is outputting the "NVPerfHUD ES is active." message.

The Performance Dashboard seems to work properly, though the CPU Monitor is basically a flat-line when we're not loading levels, 100% when we're loading levels, and doesn't really show anything in-between, even in obviously CPU-intensive areas. The Frame Debugger seems to work as expected.

But the Frame Profiler is of very limited use. The only graph that has any data is the Draw Call Duration, leaving out a great deal of valuable information.

Checking the Device Info from PerfHUD ES seems to indicate that the OUYA is configured to support all of the performance monitors.

The goal of my quest is to figure out if this is the best I can expect to get out of PerfHUD ES with the OUYA, or if I'm still missing some steps. Can anyone help with/comment on that?

Comments

  • ShushShush Posts: 178Member
    I pulled this out of the current Tegra PerfHud docs, (http://developer.download.nvidia.com/tegra/docs/tegra_perfhud_quickstart_1_1.pdf).

    The Frame Profiler panels seem to have invalid data for utilization, bottlenecks, etc.
    The current Tegra 3d driver isn’t exposing the necessary low-level counters needed to obtain
    full profiling information. At this time, the only usable information is individual draw call
    durations, which can be seen by unchecking the three ‚Bucket Definition‛ checkboxes in the
    top-left of the profiling interface, and review the calls/times in the Draw Calls list at the top
    -right. If you switch to the Frame Debugger while a given draw call is selected, that call will be
    active in the debugger interface for easy identification.The driver work is under investigation.

    With regards to your CPU utilisation issue, we had the same problem until the last firmware update for the OUYA; I'm assuming the OUYA devs updated to a later release of NVidia firmware as well as their own.

    Personally we're getting plenty of valuable information from just the Frame Debugger, (we were able to speed up our game by over 50%, we're pushing around 350,000 prims per frame at between 30 and 40fps now at 960*540).
  • devtoolsqadevtoolsqa Posts: 2Member
    I'm attempting to use PerfHUD ES to profile our game, but I'm unsure if I have everything configured properly.

    I'm using the command "adb shell setprop debug.perfhudes 1" to enable PerfHUD ES on the OUYA. I've modified our main loop to use the eglGetSystemTimeNV method for time updates, and am able to change the game simulation speed with the Speed Bar in the Performance Dashboard. I've also confirmed that the device is outputting the "NVPerfHUD ES is active." message.

    The Performance Dashboard seems to work properly, though the CPU Monitor is basically a flat-line when we're not loading levels, 100% when we're loading levels, and doesn't really show anything in-between, even in obviously CPU-intensive areas. The Frame Debugger seems to work as expected.

    But the Frame Profiler is of very limited use. The only graph that has any data is the Draw Call Duration, leaving out a great deal of valuable information.

    Checking the Device Info from PerfHUD ES seems to indicate that the OUYA is configured to support all of the performance monitors.

    The goal of my quest is to figure out if this is the best I can expect to get out of PerfHUD ES with the OUYA, or if I'm still missing some steps. Can anyone help with/comment on that?
    with latest perfhudes, version 1.9.9.8, frame profiler works fine, and my ouya build number is 1.0.346_r1

  • devtoolsqadevtoolsqa Posts: 2Member
    with latest perfhudes, version 1.9.9.8, frame profiler works fine, and my ouya build number is 1.0.346_r1

    emm... it's a application-related issue, for some application, perfhudes graphs do empty, we are investigating.

  • ShushShush Posts: 178Member
    Good news, please keep us updated.
Sign In or Register to comment.