Function

nuDebTaskPerfBar1
nuDebTaskPerfBar1EX2

Syntax
void nuDebTaskPerfBar1(u32 frameNum, u32 y, u32 flag)
void nuDebTaskPerfBar1EX2(u32 frameNum, u32 y, u32 flag)

Arguments

Return Value
None

Explanation
Displays the performance meter (Type 1).

Displays the performance meter for the graphics task as well as for the audio task. This function internally sets the RDP and creates a display list, then starts the graphics task.

"frameNum" is the number of frames to display on the screen.

"y" is the upper-left Y coordinate of the display frame for the performance meter. This is specified using the screen coordinate system.

"flag" is the frame buffer swap flag passed to the argument of the nuGfxTaskStart function.

Type 1 displays the total time of RSP and RDP processing of audio tasks and graphics tasks while drawing the frame buffer.

  1. RSP's time processing audio task (black)

  2. RSP's time processing graphics task (yellow) (includes yield time)

  3. RDP's time drawing graphics (green)

  4. CMD counter value of DP's internal counter
    DP is the process execution time. Unlike (3) it does not include the time expended while waiting for commands from the RSP. When this bar is shorter than bar (3) it means that time is being spent waiting for commands from the RDP.

  5. RDP's PIPE counter value

  6. RDP's TMEM counter value
    The task is measured by calculating the time between the end of the task specified by NU_SC_SWAPBUFFER, when the graphics task is started, and the end of the next task specified by NU_SC_SWAPBUFFER.

This performance meter is set up to help you grasp the processing time by the RSP and RDP. It can be used to make adjustments, for example when you want to cut back to a limited number of frames.

This function can only be used with the debug library.

Also, please note that when the nuGfxInit function is not used, then the 0th microcode in the microcode structure array defined by the nuGfxSetUcode function is used.

nuDebTaskPerfBar0EX2() supporting F3DEX2 was added from Ver 1.2. It is used when F3DEX_GBI_2 is declared with #define.


See Also
nuGfxTaskStart
nuGfxInit
nuGfxSetUcode
nuDebTaskPerfBar0