Implement cpu load color change

pull/358/head
Alessandro Toia 4 years ago
parent 11d9c3aa97
commit 1c0a5af001

@ -60,7 +60,10 @@ struct swapchain_stats {
wine,
gpu_load_high,
gpu_load_med,
gpu_load_low;
gpu_load_low,
cpu_load_high,
cpu_load_med,
cpu_load_low;
} colors;
};

@ -329,7 +329,11 @@ parse_font_glyph_ranges(const char *str)
#define parse_gpu_load_low_color(s) parse_color(s)
#define parse_gpu_load_high(s) parse_unsigned(s)
#define parse_gpu_load_med(s) parse_unsigned(s)
#define parse_gpu_load_low(s) parse_unsigned(s)
#define parse_cpu_load_high_color(s) parse_color(s)
#define parse_cpu_load_med_color(s) parse_color(s)
#define parse_cpu_load_low_color(s) parse_color(s)
#define parse_cpu_load_high(s) parse_unsigned(s)
#define parse_cpu_load_med(s) parse_unsigned(s)
static bool
parse_help(const char *str)
@ -490,6 +494,9 @@ parse_overlay_config(struct overlay_params *params,
params->gpu_load_high_color=0xb22222;
params->gpu_load_med_color=0xfdfd09;
params->gpu_load_low_color=0x39f900;
params->cpu_load_high_color=0xb22222;
params->cpu_load_med_color=0xfdfd09;
params->cpu_load_low_color=0x39f900;
params->font_scale_media_player = 0.55f;
params->log_interval = 100;
params->media_player_order = { MP_ORDER_TITLE, MP_ORDER_ARTIST, MP_ORDER_ALBUM };
@ -571,7 +578,7 @@ parse_overlay_config(struct overlay_params *params,
params->font_scale_media_player = 0.55f;
// Convert from 0xRRGGBB to ImGui's format
std::array<unsigned *, 14> colors = {
std::array<unsigned *, 17> colors = {
&params->cpu_color,
&params->gpu_color,
&params->vram_color,
@ -586,6 +593,9 @@ parse_overlay_config(struct overlay_params *params,
&params->gpu_load_high_color,
&params-> gpu_load_med_color,
&params->gpu_load_low_color,
&params->cpu_load_high_color,
&params->cpu_load_med_color,
&params->cpu_load_low_color,
};

@ -51,6 +51,7 @@ typedef unsigned long KeySym;
OVERLAY_PARAM_BOOL(histogram) \
OVERLAY_PARAM_BOOL(wine) \
OVERLAY_PARAM_BOOL(gpu_load_change) \
OVERLAY_PARAM_BOOL(cpu_load_change) \
OVERLAY_PARAM_CUSTOM(fps_sampling_period) \
OVERLAY_PARAM_CUSTOM(output_folder) \
OVERLAY_PARAM_CUSTOM(output_file) \
@ -94,6 +95,9 @@ typedef unsigned long KeySym;
OVERLAY_PARAM_CUSTOM(gpu_load_high_color) \
OVERLAY_PARAM_CUSTOM(gpu_load_med_color) \
OVERLAY_PARAM_CUSTOM(gpu_load_low_color) \
OVERLAY_PARAM_CUSTOM(cpu_load_high_color) \
OVERLAY_PARAM_CUSTOM(cpu_load_med_color) \
OVERLAY_PARAM_CUSTOM(cpu_load_low_color) \
OVERLAY_PARAM_CUSTOM(alpha) \
OVERLAY_PARAM_CUSTOM(log_duration) \
OVERLAY_PARAM_CUSTOM(pci_dev) \
@ -108,7 +112,9 @@ typedef unsigned long KeySym;
OVERLAY_PARAM_CUSTOM(benchmark_percentiles) \
OVERLAY_PARAM_CUSTOM(help) \
OVERLAY_PARAM_CUSTOM(gpu_load_high) \
OVERLAY_PARAM_CUSTOM(gpu_load_med)
OVERLAY_PARAM_CUSTOM(gpu_load_med) \
OVERLAY_PARAM_CUSTOM(cpu_load_high) \
OVERLAY_PARAM_CUSTOM(cpu_load_med)
enum overlay_param_position {
@ -168,8 +174,10 @@ struct overlay_params {
int gl_vsync;
uint64_t log_duration;
unsigned cpu_color, gpu_color, vram_color, ram_color, engine_color, io_color, frametime_color, background_color, text_color, wine_color;
unsigned gpu_load_high_color,gpu_load_med_color,gpu_load_low_color;
int gpu_load_high,gpu_load_med,gpu_load_change;
unsigned gpu_load_high_color, gpu_load_med_color, gpu_load_low_color;
unsigned cpu_load_high_color, cpu_load_med_color, cpu_load_low_color;
int gpu_load_high, gpu_load_med, gpu_load_change;
int cpu_load_high, cpu_load_med, cpu_load_change;
unsigned media_player_color;
unsigned tableCols;
unsigned render_mango;

@ -992,10 +992,10 @@ void render_mango(swapchain_stats& data, struct overlay_params& params, ImVec2&
int change_on_load_temp ( int info, int high, int med) {
if (info >= high){
if (info >= high) {
return 1;
}
else if (info >= med && info < high) {
}
else if (info >= med && info < high) {
return 2;
}
else {
@ -1106,9 +1106,37 @@ void render_imgui(swapchain_stats& data, struct overlay_params& params, ImVec2&
cpu_text = params.cpu_text.c_str();
ImGui::TextColored(data.colors.cpu, "%s", cpu_text);
ImGui::TableNextCell();
right_aligned_text(data.colors.text, ralign_width, "%d", int(cpuStats.GetCPUDataTotal().percent));
ImGui::SameLine(0, 1.0f);
ImGui::Text("%%");
auto cpu_high_color = data.colors.cpu_load_high;
auto cpu_med_color = data.colors.cpu_load_med;
auto cpu_low_color = data.colors.cpu_load_low;
auto text_color = data.colors.text;
int cpu_load_percent = int(cpuStats.GetCPUDataTotal().percent);
if (params.enabled[OVERLAY_PARAM_ENABLED_cpu_load_change]){
int cpu_load = change_on_load_temp(cpu_load_percent, params.cpu_load_high, params.cpu_load_med);
// 1 is high, 2 is medium, and 3 is low load/temp
switch (cpu_load) {
case 1:
right_aligned_text(cpu_high_color, ralign_width, "%d", cpu_load_percent);
ImGui::SameLine(0, 1.0f);
ImGui::TextColored(cpu_high_color, "%%");
break;
case 2:
right_aligned_text(cpu_med_color, ralign_width, "%d", cpu_load_percent);
ImGui::SameLine(0, 1.0f);
ImGui::TextColored(cpu_med_color, "%%");
break;
case 3:
right_aligned_text(cpu_low_color, ralign_width, "%d", cpu_load_percent);
ImGui::SameLine(0, 1.0f);
ImGui::TextColored(cpu_low_color, "%%");
break;
}
}
else {
right_aligned_text(text_color, ralign_width, "%d", int(cpuStats.GetCPUDataTotal().percent));
ImGui::SameLine(0, 1.0f);
ImGui::Text("%%");
}
// ImGui::SameLine(150);
// ImGui::Text("%s", "%");
@ -2140,6 +2168,9 @@ void convert_colors(bool do_conv, struct swapchain_stats& sw_stats, struct overl
sw_stats.colors.gpu_load_high = convert(params.gpu_load_high_color);
sw_stats.colors.gpu_load_med = convert(params.gpu_load_med_color);
sw_stats.colors.gpu_load_low = convert(params.gpu_load_low_color);
sw_stats.colors.cpu_load_high = convert(params.cpu_load_high_color);
sw_stats.colors.cpu_load_med = convert(params.cpu_load_med_color);
sw_stats.colors.cpu_load_low = convert(params.cpu_load_low_color);
ImGuiStyle& style = ImGui::GetStyle();
style.Colors[ImGuiCol_PlotLines] = convert(params.frametime_color);

Loading…
Cancel
Save