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("render: %.0fµs",(double)renderTimeDelta/perfFreq);
ImGui::Text("draw: %.0fµs",(double)drawTimeDelta/perfFreq);
ImGui::Text("layout: %.0fµs",(double)layoutTimeDelta/perfFreq);
ImGui::Text("event: %.0fµs",(double)eventTimeDelta/perfFreq);
ImGui::Separator();

View file

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

View file

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