Merge pull request #60 from jroweboy/game-frame

UI: Fix frame rate perf stats
merge-requests/60/head
bunnei 2018-01-17 01:23:43 +07:00 committed by GitHub
commit 9ae55884d2
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
2 changed files with 4 additions and 1 deletions

@ -4,6 +4,7 @@
#include "common/assert.h" #include "common/assert.h"
#include "common/logging/log.h" #include "common/logging/log.h"
#include "core/core.h"
#include "core/hle/service/nvdrv/devices/nvdisp_disp0.h" #include "core/hle/service/nvdrv/devices/nvdisp_disp0.h"
#include "core/hle/service/nvdrv/devices/nvmap.h" #include "core/hle/service/nvdrv/devices/nvmap.h"
#include "video_core/renderer_base.h" #include "video_core/renderer_base.h"
@ -28,6 +29,8 @@ void nvdisp_disp0::flip(u32 buffer_handle, u32 offset, u32 format, u32 width, u3
using PixelFormat = RendererBase::FramebufferInfo::PixelFormat; using PixelFormat = RendererBase::FramebufferInfo::PixelFormat;
const RendererBase::FramebufferInfo framebuffer_info{ const RendererBase::FramebufferInfo framebuffer_info{
addr, offset, width, height, stride, static_cast<PixelFormat>(format)}; addr, offset, width, height, stride, static_cast<PixelFormat>(format)};
Core::System::GetInstance().perf_stats.EndGameFrame();
VideoCore::g_renderer->SwapBuffers(framebuffer_info); VideoCore::g_renderer->SwapBuffers(framebuffer_info);
} }

@ -69,7 +69,7 @@ PerfStats::Results PerfStats::GetAndResetStats(u64 current_system_time_us) {
double PerfStats::GetLastFrameTimeScale() { double PerfStats::GetLastFrameTimeScale() {
std::lock_guard<std::mutex> lock(object_mutex); std::lock_guard<std::mutex> lock(object_mutex);
constexpr double FRAME_LENGTH = 1.0 / 60; // GPU::SCREEN_REFRESH_RATE; constexpr double FRAME_LENGTH = 1.0 / 60;
return duration_cast<DoubleSecs>(previous_frame_length).count() / FRAME_LENGTH; return duration_cast<DoubleSecs>(previous_frame_length).count() / FRAME_LENGTH;
} }