feat: add an in-game performance panel (#1090)

Add in-game performance panel

Co-authored-by: nmzik <Nmzik@mail.ru>
This commit is contained in:
Juan Pablo Fariasandnmzik authored and GitHub committed 2026-10-17 14:47:51 +02:00
1 parent 415387f00d
commit 6aa3846fb2
35 files changed
+1788 -34

No files matched your search

+4
View File
@@ -2,6 +2,7 @@
#include "common/assert.h"
#include "common/common.h"
#include "common/debugCounters.h"
#include "common/emulatorConfig.h"
#include "common/file.h"
#include "common/hostException.h"
@@ -190,6 +191,7 @@ static uint64_t RegisterStubbedImport(uint32_t index, const Program* program,
}
static KYTY_SYSV_ABI uint64_t UnresolvedImportStub(uint64_t record_id) {
Common::DebugCounters::Add(Common::DebugCounters::Counter::UnresolvedImportCalls);
const auto log_index = g_unresolved_stub_call_log_count.fetch_add(1);
if (log_index < 1024) {
if (record_id < g_stubbed_imports.size()) {
@@ -652,6 +654,7 @@ static bool KytyExceptionHandler(const Common::HostException::ExceptionInfo& exc
if (info->type == Common::HostException::ExceptionType::IllegalInstruction &&
Loader::X64InstructionEmulator::TryEmulate(info->native_context)) {
Common::DebugCounters::Add(Common::DebugCounters::Counter::EmulatedInstructions);
return true;
}
@@ -666,6 +669,7 @@ static bool KytyExceptionHandler(const Common::HostException::ExceptionInfo& exc
case CoreAccess::Unknown: return false;
}
if (Libs::LibKernel::Memory::HandleGpuFault(access, info->access_violation_vaddr)) {
Common::DebugCounters::Add(Common::DebugCounters::Counter::GpuFaults);
return true;
}
}