Measure render loop

This commit is contained in:
Jaby 2023-11-04 19:43:41 -04:00 committed by Jaby
parent b8073b31f8
commit bcc7d398e2
2 changed files with 61 additions and 42 deletions

View File

@ -1,9 +1,11 @@
#include "FontWriter/font_writer.hpp" #include "FontWriter/font_writer.hpp"
#include "Objects/paco.hpp" #include "Objects/paco.hpp"
#include "Overlay/Overlay.hpp"
#include "assets.hpp" #include "assets.hpp"
#include <PSX/GPU/gpu.hpp> #include <PSX/GPU/gpu.hpp>
#include <PSX/GPU/gpu_primitives.hpp> #include <PSX/GPU/gpu_primitives.hpp>
#include <PSX/Timer/frame_timer.hpp> #include <PSX/Timer/frame_timer.hpp>
#include <PSX/Timer/high_res_timer.hpp>
#include <stdio.h> #include <stdio.h>
using namespace JabyEngine; using namespace JabyEngine;
@ -33,10 +35,28 @@ static void render() {
} }
void main() { void main() {
static constexpr size_t MaxRounds = 1;
size_t avg = 0;
size_t cur_rounds = 0;
setup(); setup();
Overlay::mesaure_busy_loop();
JabyEngine::HighResTime::enable();
while(true) { while(true) {
const auto start = JabyEngine::HighResTime::get_time_stamp();
update(); update();
render(); render();
const auto end = JabyEngine::HighResTime::get_time_stamp();
avg += start.microseconds_to(end);
cur_rounds++;
if(cur_rounds == GPU::Display::frames_per_sec) {
printf("AVG Time: %ius\n", avg/MaxRounds);
avg = 0;
cur_rounds = 0;
}
} }
} }

View File

@ -9,4 +9,3 @@ _ZN10JabyEngine7SysCall6printfEPKcz:
li $t2, 0xa0 li $t2, 0xa0
jr $t2 jr $t2
li $t1, 0x3f li $t1, 0x3f