From b0e1fe9321f38199460cf3d90f801f61d37bad29 Mon Sep 17 00:00:00 2001 From: FlightlessMango Date: Sun, 15 Mar 2020 17:09:03 +0100 Subject: [PATCH] [params] set targetFrameTime in params.cpp --- src/gl/inject.cpp | 3 --- src/overlay.cpp | 2 -- src/overlay.h | 2 ++ src/overlay_params.cpp | 7 +++++++ 4 files changed, 9 insertions(+), 5 deletions(-) diff --git a/src/gl/inject.cpp b/src/gl/inject.cpp index e3c4a470..88d0f170 100644 --- a/src/gl/inject.cpp +++ b/src/gl/inject.cpp @@ -37,7 +37,6 @@ struct state { static ImVec2 window_size; static overlay_params params {}; static swapchain_stats sw_stats {}; -static fps_limit fps_limit_stats {}; static state state; static bool cfg_inited = false; static bool inited = false; @@ -51,8 +50,6 @@ void imgui_init() parse_overlay_config(¶ms, getenv("MANGOHUD_CONFIG")); window_size = ImVec2(params.width, params.height); init_system_info(); - if (params.fps_limit > 0) - fps_limit_stats.targetFrameTime = int64_t(1000000000.0 / params.fps_limit); cfg_inited = true; init_cpu_stats(params); } diff --git a/src/overlay.cpp b/src/overlay.cpp index 971eda76..6bd34d89 100644 --- a/src/overlay.cpp +++ b/src/overlay.cpp @@ -2611,8 +2611,6 @@ static VkResult overlay_CreateInstance( instance_data_map_physical_devices(instance_data, true); parse_overlay_config(&instance_data->params, getenv("MANGOHUD_CONFIG")); - if (instance_data->params.fps_limit > 0) - fps_limit_stats.targetFrameTime = int64_t(1000000000.0 / instance_data->params.fps_limit); init_cpu_stats(instance_data->params); diff --git a/src/overlay.h b/src/overlay.h index 2cc93147..fc86a679 100644 --- a/src/overlay.h +++ b/src/overlay.h @@ -34,6 +34,8 @@ struct fps_limit { int64_t sleepTime; }; +extern struct fps_limit fps_limit_stats; + void position_layer(struct overlay_params& params, ImVec2 window_size, unsigned width, unsigned height); void render_imgui(swapchain_stats& data, struct overlay_params& params, ImVec2& window_size, unsigned width, unsigned height, bool is_vulkan); void update_hud_info(struct swapchain_stats& sw_stats, struct overlay_params& params, uint32_t vendorID); diff --git a/src/overlay_params.cpp b/src/overlay_params.cpp index f02790eb..41d58093 100644 --- a/src/overlay_params.cpp +++ b/src/overlay_params.cpp @@ -30,13 +30,16 @@ #include #include #include "imgui.h" +#include #include "overlay_params.h" +#include "overlay.h" #include "config.h" #include "mesa/util/os_socket.h" static enum overlay_param_position + parse_position(const char *str) { if (!str || !strcmp(str, "top-left")) @@ -428,4 +431,8 @@ parse_overlay_config(struct overlay_params *params, params->tableCols = 4; params->width = 20 * params->font_size; } + + // set frametime limit + if (params->fps_limit > 0) + fps_limit_stats.targetFrameTime = int64_t(1000000000.0 / params->fps_limit); } \ No newline at end of file