mirror of
https://github.com/Ttanasart-pt/Pixel-Composer.git
synced 2025-02-13 05:35:23 +01:00
resmon
This commit is contained in:
parent
7439334b75
commit
f99aa637d8
6 changed files with 89 additions and 16 deletions
|
@ -1264,6 +1264,7 @@
|
||||||
{"name":"panel_preview_view_settings","order":9,"path":"scripts/panel_preview_view_settings/panel_preview_view_settings.yy",},
|
{"name":"panel_preview_view_settings","order":9,"path":"scripts/panel_preview_view_settings/panel_preview_view_settings.yy",},
|
||||||
{"name":"panel_preview_window","order":1,"path":"scripts/panel_preview_window/panel_preview_window.yy",},
|
{"name":"panel_preview_window","order":1,"path":"scripts/panel_preview_window/panel_preview_window.yy",},
|
||||||
{"name":"panel_profile_render","order":15,"path":"scripts/panel_profile_render/panel_profile_render.yy",},
|
{"name":"panel_profile_render","order":15,"path":"scripts/panel_profile_render/panel_profile_render.yy",},
|
||||||
|
{"name":"panel_resource_monitor","order":16,"path":"scripts/panel_resource_monitor/panel_resource_monitor.yy",},
|
||||||
{"name":"panel_test","order":8,"path":"scripts/panel_test/panel_test.yy",},
|
{"name":"panel_test","order":8,"path":"scripts/panel_test/panel_test.yy",},
|
||||||
{"name":"panel_text_editor","order":9,"path":"scripts/panel_text_editor/panel_text_editor.yy",},
|
{"name":"panel_text_editor","order":9,"path":"scripts/panel_text_editor/panel_text_editor.yy",},
|
||||||
{"name":"panel_tunnels","order":1,"path":"scripts/panel_tunnels/panel_tunnels.yy",},
|
{"name":"panel_tunnels","order":1,"path":"scripts/panel_tunnels/panel_tunnels.yy",},
|
||||||
|
|
|
@ -1878,6 +1878,7 @@
|
||||||
{"id":{"name":"panel_preview_window","path":"scripts/panel_preview_window/panel_preview_window.yy",},},
|
{"id":{"name":"panel_preview_window","path":"scripts/panel_preview_window/panel_preview_window.yy",},},
|
||||||
{"id":{"name":"panel_preview","path":"scripts/panel_preview/panel_preview.yy",},},
|
{"id":{"name":"panel_preview","path":"scripts/panel_preview/panel_preview.yy",},},
|
||||||
{"id":{"name":"panel_profile_render","path":"scripts/panel_profile_render/panel_profile_render.yy",},},
|
{"id":{"name":"panel_profile_render","path":"scripts/panel_profile_render/panel_profile_render.yy",},},
|
||||||
|
{"id":{"name":"panel_resource_monitor","path":"scripts/panel_resource_monitor/panel_resource_monitor.yy",},},
|
||||||
{"id":{"name":"panel_test","path":"scripts/panel_test/panel_test.yy",},},
|
{"id":{"name":"panel_test","path":"scripts/panel_test/panel_test.yy",},},
|
||||||
{"id":{"name":"panel_text_editor","path":"scripts/panel_text_editor/panel_text_editor.yy",},},
|
{"id":{"name":"panel_text_editor","path":"scripts/panel_text_editor/panel_text_editor.yy",},},
|
||||||
{"id":{"name":"panel_tunnels","path":"scripts/panel_tunnels/panel_tunnels.yy",},},
|
{"id":{"name":"panel_tunnels","path":"scripts/panel_tunnels/panel_tunnels.yy",},},
|
||||||
|
|
|
@ -73,7 +73,8 @@
|
||||||
case "Panel_Gradient" : return new Panel_Gradient();
|
case "Panel_Gradient" : return new Panel_Gradient();
|
||||||
case "Panel_Console" : return new Panel_Console();
|
case "Panel_Console" : return new Panel_Console();
|
||||||
|
|
||||||
case "Panel_Profile_Render" : return new Panel_Profile_Render();
|
case "Panel_Profile_Render" : return new Panel_Profile_Render();
|
||||||
|
case "Panel_Resource_Monitor" : return new Panel_Resource_Monitor();
|
||||||
}
|
}
|
||||||
|
|
||||||
return noone;
|
return noone;
|
||||||
|
|
|
@ -252,29 +252,30 @@ function Panel_Menu() : PanelContent() constructor {
|
||||||
if(TESTING) {
|
if(TESTING) {
|
||||||
array_push(menus, [ __txt("Dev"), [
|
array_push(menus, [ __txt("Dev"), [
|
||||||
MENU_ITEMS.console_panel,
|
MENU_ITEMS.console_panel,
|
||||||
menuItem(__txtx("panel_debug_overlay", "Debug overlay"), function() /*=>*/ { show_debug_overlay(true); }),
|
menuItem(__txtx("panel_debug_overlay", "Debug overlay"), function() /*=>*/ { show_debug_overlay(true); }),
|
||||||
menuItem(__txtx("panel_menu_profile_render", "Render Profiler"), function() /*=>*/ { var dia = dialogPanelCall(new Panel_Profile_Render()); }),
|
menuItem(__txtx("panel_menu_profile_render", "Render Profiler"), function() /*=>*/ { dialogPanelCall(new Panel_Profile_Render()); }),
|
||||||
|
menuItem(__txtx("panel_menu_resource_monitor", "Resource Monitor"), function() /*=>*/ { dialogPanelCall(new Panel_Resource_Monitor()); }),
|
||||||
-1,
|
-1,
|
||||||
|
|
||||||
menuItem(__txtx("panel_menu_tester", "Save frozen"), function() /*=>*/ { PROJECT.freeze = true; SAVE(); }),
|
menuItem(__txtx("panel_menu_tester", "Save frozen"), function() /*=>*/ { PROJECT.freeze = true; SAVE(); }),
|
||||||
menuItem(__txtx("panel_menu_tester", "Tester"), function() /*=>*/ { var dia = dialogPanelCall(new Panel_Test()); }),
|
menuItem(__txtx("panel_menu_tester", "Tester"), function() /*=>*/ { dialogPanelCall(new Panel_Test()); }),
|
||||||
-1,
|
-1,
|
||||||
|
|
||||||
menuItem(__txtx("panel_menu_test_load_all", "Load all current collections"), function() /*=>*/ { __test_load_current_collections(); }),
|
menuItem(__txtx("panel_menu_test_load_all", "Load all current collections"), function() /*=>*/ { __test_load_current_collections(); }),
|
||||||
menuItem(__txtx("panel_menu_test_update_all", "Update all current collections"), function() /*=>*/ { __test_update_current_collections(); }),
|
menuItem(__txtx("panel_menu_test_update_all", "Update all current collections"), function() /*=>*/ { __test_update_current_collections(); }),
|
||||||
menuItem(__txtx("panel_menu_test_add_meta", "Add metadata to current collections"), function() /*=>*/ { __test_metadata_current_collections(); }),
|
menuItem(__txtx("panel_menu_test_add_meta", "Add metadata to current collections"), function() /*=>*/ { __test_metadata_current_collections(); }),
|
||||||
menuItem(__txtx("panel_menu_test_update_sam", "Update sample projects"), function() /*=>*/ { __test_update_sample_projects(); }),
|
menuItem(__txtx("panel_menu_test_update_sam", "Update sample projects"), function() /*=>*/ { __test_update_sample_projects(); }),
|
||||||
-1,
|
-1,
|
||||||
menuItem(__txtx("panel_menu_test_load_nodes", "Load all nodes"), function() /*=>*/ { __test_load_all_nodes(); }),
|
menuItem(__txtx("panel_menu_test_load_nodes", "Load all nodes"), function() /*=>*/ { __test_load_all_nodes(); }),
|
||||||
menuItem(__txtx("panel_menu_test_gen_guide", "Generate node guide"), function() /*=>*/ { var dia = dialogPanelCall(new Panel_Node_Data_Gen()); }),
|
menuItem(__txtx("panel_menu_test_gen_guide", "Generate node guide"), function() /*=>*/ { dialogPanelCall(new Panel_Node_Data_Gen()); }),
|
||||||
menuItem(__txtx("panel_menu_test_gen_theme", "Generate theme object"), function() /*=>*/ { __test_generate_theme(); }),
|
menuItem(__txtx("panel_menu_test_gen_theme", "Generate theme object"), function() /*=>*/ { __test_generate_theme(); }),
|
||||||
-1,
|
-1,
|
||||||
menuItem(__txtx("panel_menu_test_warning", "Display Warning"), function() /*=>*/ { noti_warning("Error message") }),
|
menuItem(__txtx("panel_menu_test_warning", "Display Warning"), function() /*=>*/ { noti_warning("Error message") }),
|
||||||
menuItem(__txtx("panel_menu_test_error", "Display Error"), function() /*=>*/ { noti_error("Error message") }),
|
menuItem(__txtx("panel_menu_test_error", "Display Error"), function() /*=>*/ { noti_error("Error message") }),
|
||||||
menuItem(__txtx("panel_menu_test_crash", "Force crash"), function() /*=>*/ { print(1 + "a"); }),
|
menuItem(__txtx("panel_menu_test_crash", "Force crash"), function() /*=>*/ { print(1 + "a"); }),
|
||||||
-1,
|
-1,
|
||||||
menuItemShelf(__txt("Misc."), function(_dat) {
|
menuItemShelf(__txt("Misc."), function(_dat) {
|
||||||
return submenuCall(_dat, [ menuItem(__txtx("panel_menu_node_credit", "Node credit dialog"), function() /*=>*/ { var dia = dialogPanelCall(new Panel_Node_Cost()); }), ]);
|
return submenuCall(_dat, [ menuItem(__txtx("panel_menu_node_credit", "Node credit dialog"), function() /*=>*/ { dialogPanelCall(new Panel_Node_Cost()); }), ]);
|
||||||
}),
|
}),
|
||||||
]]);
|
]]);
|
||||||
}
|
}
|
||||||
|
|
55
scripts/panel_resource_monitor/panel_resource_monitor.gml
Normal file
55
scripts/panel_resource_monitor/panel_resource_monitor.gml
Normal file
|
@ -0,0 +1,55 @@
|
||||||
|
function Panel_Resource_Monitor() : PanelContent() constructor {
|
||||||
|
title = "ResMon";
|
||||||
|
w = ui(380);
|
||||||
|
h = ui(48);
|
||||||
|
min_h = ui(20);
|
||||||
|
|
||||||
|
sysinfo_init();
|
||||||
|
|
||||||
|
mb = 1024 * 1024;
|
||||||
|
gb = 1024 * 1024 * 1024;
|
||||||
|
memory_max = sysinfo_get_memory_max();
|
||||||
|
vram_max = sysinfo_get_gpu_vram();
|
||||||
|
cpu_cores = sysinfo_get_core_count();
|
||||||
|
|
||||||
|
memory_use = 0;
|
||||||
|
cpu_uses = array_create(5);
|
||||||
|
cpu_use_ind = 0;
|
||||||
|
cpu_use_acc = 0;
|
||||||
|
cpu_rec = 0;
|
||||||
|
|
||||||
|
runner = 0;
|
||||||
|
|
||||||
|
function drawContent(panel) {
|
||||||
|
draw_clear(merge_color(c_black, CDEF.main_dkblack, 0.75));
|
||||||
|
draw_clear(COLORS.panel_bg_clear_inner);
|
||||||
|
runner++;
|
||||||
|
|
||||||
|
if(runner % 100 == 0) {
|
||||||
|
memory_use = sysinfo_proc_memory_used();
|
||||||
|
cpu_use = sysinfo_sys_cpu_usage();
|
||||||
|
if(cpu_use > 0) {
|
||||||
|
cpu_use_acc -= cpu_uses[cpu_use_ind];
|
||||||
|
cpu_uses[cpu_use_ind] = cpu_use;
|
||||||
|
cpu_use_acc += cpu_use;
|
||||||
|
cpu_use_ind = (cpu_use_ind + 1) % 5;
|
||||||
|
cpu_rec++;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
var _cpu = cpu_use_acc / clamp(cpu_rec, 1, 5);
|
||||||
|
var _mem = memory_use / memory_max;
|
||||||
|
|
||||||
|
draw_sprite_stretched_ext(THEME.s_box_r2, 0, 0, 0, w * _mem, h, COLORS._main_value_positive, 0.2);
|
||||||
|
draw_set_text(f_code, fa_left, fa_center, COLORS._main_text);
|
||||||
|
|
||||||
|
var _tx = ui(12);
|
||||||
|
var _ty = h / 2;
|
||||||
|
draw_set_color(COLORS._main_text_sub); draw_text(_tx, _ty, $"CPU usage");
|
||||||
|
draw_set_color(COLORS._main_text); draw_text(_tx + ui(80), _ty, $"{_cpu}%");
|
||||||
|
|
||||||
|
_tx += ui(160);
|
||||||
|
draw_set_color(COLORS._main_text_sub); draw_text(_tx, _ty, $"Memory");
|
||||||
|
draw_set_color(COLORS._main_text); draw_text(_tx + ui(56), _ty, $"{memory_use / mb} MB");
|
||||||
|
}
|
||||||
|
}
|
14
scripts/panel_resource_monitor/panel_resource_monitor.yy
Normal file
14
scripts/panel_resource_monitor/panel_resource_monitor.yy
Normal file
|
@ -0,0 +1,14 @@
|
||||||
|
{
|
||||||
|
"$GMScript":"v1",
|
||||||
|
"%Name":"panel_resource_monitor",
|
||||||
|
"isCompatibility":false,
|
||||||
|
"isDnD":false,
|
||||||
|
"name":"panel_resource_monitor",
|
||||||
|
"parent":{
|
||||||
|
"name":"_others",
|
||||||
|
"path":"folders/panels/_others.yy",
|
||||||
|
},
|
||||||
|
"resourceType":"GMScript",
|
||||||
|
"resourceVersion":"2.0",
|
||||||
|
"tags":[],
|
||||||
|
}
|
Loading…
Reference in a new issue