gx - Gd - ProfilingSample Demo

Description

Displays profile results of rendering using the GD library with the nngx API.

Required Environment

None.

How to Use

None.

Notes

This uses the GD library to implement DrawPrimitive, which is a sample demo for the GR library.

Execution Procedure

The following macros are defined in the source code. By specifying these for PACKET_RECORDING_MODE, you can switch to an implementation that uses the gd::System::StartRecordingPackets function.

USE_PACKET_RECORDING_NONE Do not use the StartRecordingPackets function.
USE_PACKET_RECORDING_COPY Use the StartRecordingPackets function (specify RECORD_COMMAND_LIST_COPY to the usage parameter).
USE_PACKET_RECORDING_NOCPY Use the StartRecordingPackets function (specify RECORD_COMMAND_LIST_NO_COPY to the usage parameter).

The demo displays the following screens when run. Adjust the stereoscopic image with the 3D depth slider.

The following type of profile results are periodically output to the debugger.

Profiling counter: Busy
Shader processor 0: 4008
Command buffer and vertex array load module: 27834
Rasterization module: 1860
Triangle setup: 9992
Fragment lighting: 971
Texture unit: 0
Per-fragment operations module: 390
Texture combiner: 0

Profiling counter: Vertex cache: 43

Profiling counter: Vertex Shader 0
Program counter transition count: 235983
Cycles stalled due to command dependencies: 210181
Cycles stalled due to address register updates (mova): 0
Cycles stalled due to status register updates (cmp): 19167
Cycles stalled due to program pre-fetch misses: 16154

Profiling counter: Vertex Shader 1
Program counter transition count: 235983
Cycles stalled due to command dependencies: 210181
Cycles stalled due to address register updates (mova): 0
Cycles stalled due to status register updates (cmp): 19167
Cycles stalled due to program pre-fetch misses: 16167

Profiling counter: Vertex Shader 2
Program counter transition count: 236188
Cycles stalled due to command dependencies: 210509
Cycles stalled due to address register updates (mova): 0
Cycles stalled due to status register updates (cmp): 19167
Cycles stalled due to program pre-fetch misses: 16097

Profiling counter: Vertex Shader 3
Program counter transition count: 236188
Cycles stalled due to command dependencies: 210509
Cycles stalled due to address register updates (mova): 0
Cycles stalled due to status register updates (cmp): 19167
Cycles stalled due to program pre-fetch misses: 16125

Profiling counter: Polygon
Number of vertices input into triangle setup: 41796
Number of polygons input into triangle setup: 39692
Number of polygons output from triangle setup: 4724

Profiling counter: Fragment
number of fragments input into the per-fragment operations module: 71067

Profiling counter: Memory Access
PICA reads to the VRAM A channel: 24000
PICA writes to the VRAM A channel: 60088
PICA reads to the VRAM B channel: 21320
PICA writes to the VRAM B channel: 45320
Reads of command buffers, vertex arrays, and index arrays: 99210
Texture memory reads by the texture unit: 0
Depth and stencil buffer reads by the perfragment operation module: 21320
Depth and stencil buffer writes by the perfragment operation module: 21320
Color buffer reads by the per-fragment operations module: 0
Color buffer writes by the per-fragment operations module: 36088
Display buffer reads by the LCD upper screen controller: 12336
Display buffer reads by the LCD lower screen controller: 3696
Reads by the post-transfer module: 24000
Writes by the post-transfer module: 18000
Channel 0 buffer writes by the memory fill module: 24000
Channel 1 buffer writes by the memory fill module: 24000
VRAM reads by the CPU: 0
VRAM writes by the CPU: 0

Revision History

2012/02/17
Initial version.

CONFIDENTIAL