perf overlay: add datapoint count config settings

This commit is contained in:
Megamouse 2021-03-01 20:59:05 +01:00
parent e1e370999e
commit 86dbb859b7
3 changed files with 15 additions and 13 deletions

View File

@ -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<u16>(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<u16>(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)

View File

@ -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);

View File

@ -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<detail_level> 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<screen_quadrant> 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 };