Measure render loop

This commit is contained in:
Björn Gaier 2023-11-04 19:43:41 -04:00
parent 950e04ddb7
commit f5e9ba0279
2 changed files with 61 additions and 42 deletions

View File

@ -1,42 +1,62 @@
#include "FontWriter/font_writer.hpp" #include "FontWriter/font_writer.hpp"
#include "Objects/paco.hpp" #include "Objects/paco.hpp"
#include "assets.hpp" #include "Overlay/Overlay.hpp"
#include <PSX/GPU/gpu.hpp> #include "assets.hpp"
#include <PSX/GPU/gpu_primitives.hpp> #include <PSX/GPU/gpu.hpp>
#include <PSX/Timer/frame_timer.hpp> #include <PSX/GPU/gpu_primitives.hpp>
#include <stdio.h> #include <PSX/Timer/frame_timer.hpp>
#include <PSX/Timer/high_res_timer.hpp>
using namespace JabyEngine; #include <stdio.h>
static object::Paco paco; using namespace JabyEngine;
static void setup() { static object::Paco paco;
Assets::load_for_main();
FontWriter::FontWriter::setup(); static void setup() {
Assets::load_for_main();
paco.setup(); FontWriter::FontWriter::setup();
}
paco.setup();
static void update() { }
FontWriter::FontWriter cursor;
static void update() {
const auto end_pos = cursor.write(FontWriter::Position::create(0, 32), "Cody is cute\n&\na \x1b[8;0;0mBAAAAABY!!!"); FontWriter::FontWriter cursor;
cursor.write(end_pos, "\x1b[0;7;7mJaby was\nhere c:");
const auto end_pos = cursor.write(FontWriter::Position::create(0, 32), "Cody is cute\n&\na \x1b[8;0;0mBAAAAABY!!!");
paco.update(); cursor.write(end_pos, "\x1b[0;7;7mJaby was\nhere c:");
}
paco.update();
static void render() { }
GPU::swap_buffers_vsync(1);
FontWriter::FontWriter::render(); static void render() {
paco.render(); GPU::swap_buffers_vsync(1);
} FontWriter::FontWriter::render();
paco.render();
void main() { }
setup();
void main() {
while(true) { static constexpr size_t MaxRounds = 1;
update();
render(); size_t avg = 0;
} size_t cur_rounds = 0;
setup();
Overlay::mesaure_busy_loop();
JabyEngine::HighResTime::enable();
while(true) {
const auto start = JabyEngine::HighResTime::get_time_stamp();
update();
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