HostInterface: Move performance counters to base class

This commit is contained in:
Connor McLaughlin
2019-12-01 21:29:09 +10:00
parent abfa531648
commit 0a6b913536
4 changed files with 63 additions and 57 deletions

View File

@@ -166,23 +166,6 @@ void SDLHostInterface::ConnectControllers()
m_system->SetController(0, m_controller);
}
void SDLHostInterface::ResetPerformanceCounters()
{
if (m_system)
{
m_last_frame_number = m_system->GetFrameNumber();
m_last_internal_frame_number = m_system->GetInternalFrameNumber();
m_last_global_tick_counter = m_system->GetGlobalTickCounter();
}
else
{
m_last_frame_number = 0;
m_last_internal_frame_number = 0;
m_last_global_tick_counter = 0;
}
m_fps_timer.Reset();
}
void SDLHostInterface::QueueSwitchGPURenderer()
{
SDL_Event ev = {};
@@ -685,7 +668,7 @@ void SDLHostInterface::DrawMainMenuBar()
DoPowerOff();
if (ImGui::MenuItem("Reset", nullptr, false, system_enabled))
DoReset();
ResetSystem();
if (ImGui::MenuItem("Pause", nullptr, m_paused, system_enabled))
DoTogglePause();
@@ -1343,13 +1326,6 @@ void SDLHostInterface::DrawOSDMessages()
}
}
void SDLHostInterface::DoReset()
{
m_system->Reset();
ResetPerformanceCounters();
AddOSDMessage("System reset.");
}
void SDLHostInterface::DoPowerOff()
{
Assert(m_system);
@@ -1555,25 +1531,7 @@ void SDLHostInterface::Run()
}
}
if (m_system)
{
// update fps counter
const double time = m_fps_timer.GetTimeSeconds();
if (time >= 0.25f)
{
m_vps = static_cast<float>(static_cast<double>(m_system->GetFrameNumber() - m_last_frame_number) / time);
m_last_frame_number = m_system->GetFrameNumber();
m_fps = static_cast<float>(
static_cast<double>(m_system->GetInternalFrameNumber() - m_last_internal_frame_number) / time);
m_last_internal_frame_number = m_system->GetInternalFrameNumber();
m_speed =
static_cast<float>(static_cast<double>(m_system->GetGlobalTickCounter() - m_last_global_tick_counter) /
(static_cast<double>(MASTER_CLOCK) * time)) *
100.0f;
m_last_global_tick_counter = m_system->GetGlobalTickCounter();
m_fps_timer.Reset();
}
}
UpdatePerformanceCounters();
}
// Save state on exit so it can be resumed

View File

@@ -70,14 +70,12 @@ private:
void SaveSettings();
void ResetPerformanceCounters();
void QueueSwitchGPURenderer();
void SwitchGPURenderer();
void UpdateFullscreen();
// We only pass mouse input through if it's grabbed
void DrawImGui();
void DoReset();
void DoPowerOff();
void DoResume();
void DoStartDisc();
@@ -119,14 +117,6 @@ private:
u32 m_switch_gpu_renderer_event_id = 0;
float m_vps = 0.0f;
float m_fps = 0.0f;
float m_speed = 0.0f;
u32 m_last_frame_number = 0;
u32 m_last_internal_frame_number = 0;
u32 m_last_global_tick_counter = 0;
Timer m_fps_timer;
bool m_quit_request = false;
bool m_frame_step_request = false;
bool m_focus_main_menu_bar = false;