Include memory used when rendering performance
This commit is contained in:
parent
09ca3b5385
commit
888dd96190
|
@ -86,4 +86,11 @@ void renderStateInlineBranch(struct RenderState* renderState, Gfx* dl) {
|
||||||
while (_SHIFTR(dl->words.w0, 24, 8) != G_ENDDL) {
|
while (_SHIFTR(dl->words.w0, 24, 8) != G_ENDDL) {
|
||||||
*renderState->dl++ = *dl++;
|
*renderState->dl++ = *dl++;
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
float renderStateMemoryUsage(struct RenderState* renderState) {
|
||||||
|
int dlCount = renderState->dl - renderState->glist;
|
||||||
|
int memoryChunkCount = &renderState->glist[MAX_DL_LENGTH + MAX_RENDER_STATE_MEMORY_CHUNKS] - renderState->currentMemoryChunk;
|
||||||
|
|
||||||
|
return (float)(dlCount + memoryChunkCount) / (MAX_DL_LENGTH + MAX_RENDER_STATE_MEMORY_CHUNKS);
|
||||||
}
|
}
|
|
@ -32,4 +32,6 @@ int renderStateMaxDLCount(struct RenderState* renderState);
|
||||||
|
|
||||||
void renderStateInlineBranch(struct RenderState* renderState, Gfx* dl);
|
void renderStateInlineBranch(struct RenderState* renderState, Gfx* dl);
|
||||||
|
|
||||||
|
float renderStateMemoryUsage(struct RenderState* renderState);
|
||||||
|
|
||||||
#endif
|
#endif
|
|
@ -273,15 +273,20 @@ void sceneRenderPerformanceMetrics(struct Scene* scene, struct RenderState* rend
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
float memoryUsage = renderStateMemoryUsage(renderState);
|
||||||
|
|
||||||
gDPSetCycleType(renderState->dl++, G_CYC_1CYCLE);
|
gDPSetCycleType(renderState->dl++, G_CYC_1CYCLE);
|
||||||
gDPSetFillColor(renderState->dl++, (GPACK_RGBA5551(0, 0, 0, 1) << 16 | GPACK_RGBA5551(0, 0, 0, 1)));
|
gDPSetFillColor(renderState->dl++, (GPACK_RGBA5551(0, 0, 0, 1) << 16 | GPACK_RGBA5551(0, 0, 0, 1)));
|
||||||
gDPSetCombineMode(renderState->dl++, SOLID_COLOR, SOLID_COLOR);
|
gDPSetCombineMode(renderState->dl++, SOLID_COLOR, SOLID_COLOR);
|
||||||
gDPSetEnvColor(renderState->dl++, 32, 32, 32, 255);
|
gDPSetEnvColor(renderState->dl++, 32, 32, 32, 255);
|
||||||
gSPTextureRectangle(renderState->dl++, 32 << 2, 32 << 2, (32 + 256) << 2, (32 + 16) << 2, 0, 0, 0, 1, 1);
|
gSPTextureRectangle(renderState->dl++, 32 << 2, 32 << 2, (32 + 256) << 2, (32 + 8) << 2, 0, 0, 0, 1, 1);
|
||||||
|
gSPTextureRectangle(renderState->dl++, 32 << 2, 44 << 2, (32 + 256) << 2, (44 + 8) << 2, 0, 0, 0, 1, 1);
|
||||||
gDPPipeSync(renderState->dl++);
|
gDPPipeSync(renderState->dl++);
|
||||||
gDPSetEnvColor(renderState->dl++, 32, 255, 32, 255);
|
gDPSetEnvColor(renderState->dl++, 32, 255, 32, 255);
|
||||||
gSPTextureRectangle(renderState->dl++, 33 << 2, 33 << 2, (32 + 254 * scene->cpuTime / scene->lastFrameTime) << 2, (32 + 14) << 2, 0, 0, 0, 1, 1);
|
gSPTextureRectangle(renderState->dl++, 33 << 2, 33 << 2, (32 + 254 * scene->cpuTime / scene->lastFrameTime) << 2, (32 + 6) << 2, 0, 0, 0, 1, 1);
|
||||||
|
gSPTextureRectangle(renderState->dl++, 33 << 2, 45 << 2, (int)(32 + 254 * memoryUsage * 4.0f), (44 + 6) << 2, 0, 0, 0, 1, 1);
|
||||||
gDPPipeSync(renderState->dl++);
|
gDPPipeSync(renderState->dl++);
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
LookAt gLookAt = gdSPDefLookAt(127, 0, 0, 0, 127, 0);
|
LookAt gLookAt = gdSPDefLookAt(127, 0, 0, 0, 127, 0);
|
||||||
|
|
Loading…
Reference in a new issue