From 86dbb859b7afe16327c10871443bf56e193fadb2 Mon Sep 17 00:00:00 2001 From: Megamouse Date: Mon, 1 Mar 2021 20:59:05 +0100 Subject: [PATCH] perf overlay: add datapoint count config settings --- rpcs3/Emu/RSX/Overlays/overlay_perf_metrics.cpp | 12 ++++++------ rpcs3/Emu/RSX/Overlays/overlay_perf_metrics.h | 4 ++-- rpcs3/Emu/system_config.h | 12 +++++++----- 3 files changed, 15 insertions(+), 13 deletions(-) diff --git a/rpcs3/Emu/RSX/Overlays/overlay_perf_metrics.cpp b/rpcs3/Emu/RSX/Overlays/overlay_perf_metrics.cpp index c0e85bb612..0ca88e9868 100644 --- a/rpcs3/Emu/RSX/Overlays/overlay_perf_metrics.cpp +++ b/rpcs3/Emu/RSX/Overlays/overlay_perf_metrics.cpp @@ -264,7 +264,7 @@ namespace rsx visible = true; } - void perf_metrics_overlay::set_framerate_graph_enabled(bool enabled) + void perf_metrics_overlay::set_framerate_graph_enabled(bool enabled, u32 datapoint_count) { if (m_framerate_graph_enabled == enabled) return; @@ -275,7 +275,7 @@ namespace rsx { m_fps_graph.set_title(" Framerate"); m_fps_graph.set_font_size(static_cast(m_font_size * 0.8)); - m_fps_graph.set_count(50); + m_fps_graph.set_count(datapoint_count); m_fps_graph.set_color(convert_color_code(m_color_body, m_opacity)); m_fps_graph.set_guide_interval(10); } @@ -283,7 +283,7 @@ namespace rsx m_force_repaint = true; } - void perf_metrics_overlay::set_frametime_graph_enabled(bool enabled) + void perf_metrics_overlay::set_frametime_graph_enabled(bool enabled, u32 datapoint_count) { if (m_frametime_graph_enabled == enabled) return; @@ -294,7 +294,7 @@ namespace rsx { m_frametime_graph.set_title(" Frametime"); m_frametime_graph.set_font_size(static_cast(m_font_size * 0.8)); - m_frametime_graph.set_count(170); + m_frametime_graph.set_count(datapoint_count); m_frametime_graph.set_color(convert_color_code(m_color_body, m_opacity)); m_frametime_graph.set_guide_interval(8); } @@ -773,8 +773,8 @@ namespace rsx perf_overlay->set_opacity(perf_settings.opacity / 100.f); perf_overlay->set_body_colors(perf_settings.color_body, perf_settings.background_body); perf_overlay->set_title_colors(perf_settings.color_title, perf_settings.background_title); - perf_overlay->set_framerate_graph_enabled(perf_settings.framerate_graph_enabled.get()); - perf_overlay->set_frametime_graph_enabled(perf_settings.frametime_graph_enabled.get()); + perf_overlay->set_framerate_graph_enabled(perf_settings.framerate_graph_enabled.get(), perf_settings.framerate_datapoint_count); + perf_overlay->set_frametime_graph_enabled(perf_settings.frametime_graph_enabled.get(), perf_settings.frametime_datapoint_count); perf_overlay->init(); } else if (perf_overlay) diff --git a/rpcs3/Emu/RSX/Overlays/overlay_perf_metrics.h b/rpcs3/Emu/RSX/Overlays/overlay_perf_metrics.h index f9ff1c2b2b..060b6031c6 100644 --- a/rpcs3/Emu/RSX/Overlays/overlay_perf_metrics.h +++ b/rpcs3/Emu/RSX/Overlays/overlay_perf_metrics.h @@ -85,8 +85,8 @@ namespace rsx public: void init(); - void set_framerate_graph_enabled(bool enabled); - void set_frametime_graph_enabled(bool enabled); + void set_framerate_graph_enabled(bool enabled, u32 datapoint_count); + void set_frametime_graph_enabled(bool enabled, u32 datapoint_count); void set_detail_level(detail_level level); void set_position(screen_quadrant quadrant); void set_update_interval(u32 update_interval); diff --git a/rpcs3/Emu/system_config.h b/rpcs3/Emu/system_config.h index dd1e60b301..6400849a93 100644 --- a/rpcs3/Emu/system_config.h +++ b/rpcs3/Emu/system_config.h @@ -178,16 +178,18 @@ struct cfg_root : cfg::node cfg::_bool perf_overlay_enabled{ this, "Enabled", false, true }; cfg::_bool framerate_graph_enabled{ this, "Enable Framerate Graph", false, true }; cfg::_bool frametime_graph_enabled{ this, "Enable Frametime Graph", false, true }; + cfg::uint<1, 6000> framerate_datapoint_count{ this, "Framerate datapoints", 50, true }; + cfg::uint<1, 6000> frametime_datapoint_count{ this, "Frametime datapoints", 170, true }; cfg::_enum level{ this, "Detail level", detail_level::medium, true }; - cfg::_int<1, 5000> update_interval{ this, "Metrics update interval (ms)", 350, true }; - cfg::_int<4, 36> font_size{ this, "Font size (px)", 10, true }; + cfg::uint<1, 5000> update_interval{ this, "Metrics update interval (ms)", 350, true }; + cfg::uint<4, 36> font_size{ this, "Font size (px)", 10, true }; cfg::_enum position{ this, "Position", screen_quadrant::top_left, true }; cfg::string font{ this, "Font", "n023055ms.ttf", true }; - cfg::_int<0, 1280> margin_x{ this, "Horizontal Margin (px)", 50, true }; // horizontal distance to the screen border relative to the screen_quadrant in px - cfg::_int<0, 720> margin_y{ this, "Vertical Margin (px)", 50, true }; // vertical distance to the screen border relative to the screen_quadrant in px + cfg::uint<0, 1280> margin_x{ this, "Horizontal Margin (px)", 50, true }; // horizontal distance to the screen border relative to the screen_quadrant in px + cfg::uint<0, 720> margin_y{ this, "Vertical Margin (px)", 50, true }; // vertical distance to the screen border relative to the screen_quadrant in px cfg::_bool center_x{ this, "Center Horizontally", false, true }; cfg::_bool center_y{ this, "Center Vertically", false, true }; - cfg::_int<0, 100> opacity{ this, "Opacity (%)", 70, true }; + cfg::uint<0, 100> opacity{ this, "Opacity (%)", 70, true }; cfg::string color_body{ this, "Body Color (hex)", "#FFE138FF", true }; cfg::string background_body{ this, "Body Background (hex)", "#002339FF", true }; cfg::string color_title{ this, "Title Color (hex)", "#F26C24FF", true };