From 7d18f2386a18b88898cf6bb14d76e85c0a14dfa2 Mon Sep 17 00:00:00 2001 From: SimoneN64 Date: Wed, 25 Dec 2024 21:28:34 +0100 Subject: [PATCH] Implement FPS counting --- src/backend/core/Mem.cpp | 5 +++-- src/frontend/EmuThread.cpp | 5 +++++ 2 files changed, 8 insertions(+), 2 deletions(-) diff --git a/src/backend/core/Mem.cpp b/src/backend/core/Mem.cpp index bd93cf86..fd5e0130 100644 --- a/src/backend/core/Mem.cpp +++ b/src/backend/core/Mem.cpp @@ -3,7 +3,6 @@ #include #include #include -#include #include #include @@ -115,7 +114,7 @@ std::vector Mem::OpenArchive(const std::string &path, size_t &sizeAdjusted) auto filename = ar_entry_get_name(archive); auto extension = fs::path(filename).extension(); - if (std::ranges::any_of(rom_exts, [&](const auto& x) { return extension == x; })) { + if (std::ranges::any_of(rom_exts, [&](const auto &x) { return extension == x; })) { const auto size = ar_entry_get_size(archive); sizeAdjusted = Util::NextPow2(size); buf.resize(sizeAdjusted); @@ -283,6 +282,7 @@ u32 Mem::Read(Registers ®s, const u32 paddr) { return 0; default: Util::panic("Unimplemented 32-bit read at address {:08X} (PC = {:016X})", paddr, (u64)regs.pc); + return 0; } } @@ -313,6 +313,7 @@ u64 Mem::Read(Registers ®s, const u32 paddr) { return 0; default: Util::panic("Unimplemented 32-bit read at address {:08X} (PC = {:016X})", paddr, (u64)regs.pc); + return 0; } } diff --git a/src/frontend/EmuThread.cpp b/src/frontend/EmuThread.cpp index 5d7a3527..bb2e8126 100644 --- a/src/frontend/EmuThread.cpp +++ b/src/frontend/EmuThread.cpp @@ -12,6 +12,7 @@ void EmuThread::run() noexcept { auto lastSample = std::chrono::high_resolution_clock::now(); auto avgFps = 16.667; auto sampledFps = 0; + static bool oneSecondPassed = false; fps.setText(fmt::format("{:.2f} FPS", 1000.0 / avgFps).c_str()); @@ -34,6 +35,10 @@ void EmuThread::run() noexcept { if (const auto elapsedSinceLastSample = std::chrono::duration(endFrameTime - lastSample) / 1s; elapsedSinceLastSample >= 1.0) { + if (!oneSecondPassed) { + oneSecondPassed = true; + continue; + } lastSample = endFrameTime; avgFps /= sampledFps; sampledFps = 0;