GUI: add a draw metric

This commit is contained in:
tildearrow 2023-06-12 15:58:16 -05:00
parent 16adc1fb1b
commit 91a7132e79
3 changed files with 8 additions and 0 deletions

View file

@ -549,6 +549,7 @@ void FurnaceGUI::drawDebug() {
ImGui::Text("audio: %dµs",lastProcTime); ImGui::Text("audio: %dµs",lastProcTime);
ImGui::Text("render: %.0fµs",(double)renderTimeDelta/perfFreq); ImGui::Text("render: %.0fµs",(double)renderTimeDelta/perfFreq);
ImGui::Text("draw: %.0fµs",(double)drawTimeDelta/perfFreq);
ImGui::Text("layout: %.0fµs",(double)layoutTimeDelta/perfFreq); ImGui::Text("layout: %.0fµs",(double)layoutTimeDelta/perfFreq);
ImGui::Text("event: %.0fµs",(double)eventTimeDelta/perfFreq); ImGui::Text("event: %.0fµs",(double)eventTimeDelta/perfFreq);
ImGui::Separator(); ImGui::Separator();

View file

@ -5810,6 +5810,7 @@ bool FurnaceGUI::loop() {
renderTimeBegin=SDL_GetPerformanceCounter(); renderTimeBegin=SDL_GetPerformanceCounter();
ImGui::Render(); ImGui::Render();
renderTimeEnd=SDL_GetPerformanceCounter(); renderTimeEnd=SDL_GetPerformanceCounter();
drawTimeBegin=SDL_GetPerformanceCounter();
rend->renderGUI(); rend->renderGUI();
if (mustClear) { if (mustClear) {
rend->clear(ImVec4(0,0,0,0)); rend->clear(ImVec4(0,0,0,0));
@ -5824,12 +5825,14 @@ bool FurnaceGUI::loop() {
} }
} }
rend->present(); rend->present();
drawTimeEnd=SDL_GetPerformanceCounter();
if (settings.renderClearPos) { if (settings.renderClearPos) {
rend->clear(uiColors[GUI_COLOR_BACKGROUND]); rend->clear(uiColors[GUI_COLOR_BACKGROUND]);
} }
layoutTimeDelta=layoutTimeEnd-layoutTimeBegin; layoutTimeDelta=layoutTimeEnd-layoutTimeBegin;
renderTimeDelta=renderTimeEnd-renderTimeBegin; renderTimeDelta=renderTimeEnd-renderTimeBegin;
drawTimeDelta=drawTimeEnd-drawTimeBegin;
eventTimeDelta=eventTimeEnd-eventTimeBegin; eventTimeDelta=eventTimeEnd-eventTimeBegin;
soloTimeout-=ImGui::GetIO().DeltaTime; soloTimeout-=ImGui::GetIO().DeltaTime;
@ -6832,6 +6835,9 @@ FurnaceGUI::FurnaceGUI():
renderTimeBegin(0), renderTimeBegin(0),
renderTimeEnd(0), renderTimeEnd(0),
renderTimeDelta(0), renderTimeDelta(0),
drawTimeBegin(0),
drawTimeEnd(0),
drawTimeDelta(0),
eventTimeBegin(0), eventTimeBegin(0),
eventTimeEnd(0), eventTimeEnd(0),
eventTimeDelta(0), eventTimeDelta(0),

View file

@ -1864,6 +1864,7 @@ class FurnaceGUI {
int layoutTimeBegin, layoutTimeEnd, layoutTimeDelta; int layoutTimeBegin, layoutTimeEnd, layoutTimeDelta;
int renderTimeBegin, renderTimeEnd, renderTimeDelta; int renderTimeBegin, renderTimeEnd, renderTimeDelta;
int drawTimeBegin, drawTimeEnd, drawTimeDelta;
int eventTimeBegin, eventTimeEnd, eventTimeDelta; int eventTimeBegin, eventTimeEnd, eventTimeDelta;
FurnaceGUIPerfMetric perfMetrics[64]; FurnaceGUIPerfMetric perfMetrics[64];