aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorfluxionary <25628292+fluxionary@users.noreply.github.com>2022-05-15 21:55:33 -0700
committerGitHub <noreply@github.com>2022-05-16 06:55:33 +0200
commit675e1e1943598893acf3d652caca18b0193746d9 (patch)
treebe49d53d73f1fd9b14f3f44f92b5857a2b3a263a
parent2651262fa3134415f349f63840c89486fabd9063 (diff)
downloadmesecons_debug-675e1e1943598893acf3d652caca18b0193746d9.tar.gz
mesecons_debug-675e1e1943598893acf3d652caca18b0193746d9.zip
Update lag-hud (#8)
* add proper settings (untested) * more constants -> settings * normalize whitespace between code files * refactor globalsteps in order to simplify logic * minor refactoring * rename file * use mod_storage for persistent data; optimize context initialization * refactoring (moving files around) * rewrite penalty * add settings; document; allow changing while game is running * add command to update settings * update init after splitting commands into files * fix bugs; add debugging tools; too much for one commit... * fix whitelist conversion * add adjustable blinky plant to timer overrides * add some more mesecons nodes with repeating timers * resolve luacheck warnings * tweak hud * Update documentation; parameterize more things; refactor some logic for readability * update lag even when mesecons isn't active
-rw-r--r--penalty.lua37
1 files changed, 18 insertions, 19 deletions
diff --git a/penalty.lua b/penalty.lua
index 1e20706..23f3e2f 100644
--- a/penalty.lua
+++ b/penalty.lua
@@ -83,15 +83,6 @@ minetest.register_globalstep(function(dtime)
mesecons_debug.avg_total_micros_per_second)
mesecons_debug.avg_total_micros_per_second = avg_total_micros_per_second
- if context_store_size == 0 or avg_total_micros_per_second == 0 then
- -- nothing to do, but reset counters
- elapsed = 0
- elapsed_steps = 0
- mesecons_debug.total_micros = 0
- return
- end
-
-
-- how much lag is there?
local lag = elapsed / (elapsed_steps * expected_dtime)
local avg_lag = update_average(lag, mesecons_debug.avg_lag)
@@ -99,25 +90,33 @@ minetest.register_globalstep(function(dtime)
local is_high_lag = avg_lag > high_lag_ratio
local is_moderate_lag = avg_lag > moderate_lag_ratio
-
- -- how much of the lag was mesecons?
- local mesecons_load = avg_total_micros_per_second / 1000000
- local is_high_load = mesecons_load > high_load_threshold
-
-- for use by HUD
if is_high_lag then
- mesecons_debug.lag_level = 'high'
+ mesecons_debug.lag_level = "high"
elseif is_moderate_lag then
- mesecons_debug.lag_level = 'moderate'
+ mesecons_debug.lag_level = "moderate"
else
- mesecons_debug.lag_level = 'low'
+ mesecons_debug.lag_level = "low"
end
+ if context_store_size == 0 or avg_total_micros_per_second == 0 then
+ -- nothing to do, but reset counters
+ elapsed = 0
+ elapsed_steps = 0
+ mesecons_debug.total_micros = 0
+ mesecons_debug.load_level = "none"
+ return
+ end
+
+ -- how much of the lag was mesecons?
+ local mesecons_load = avg_total_micros_per_second / 1000000
+ local is_high_load = mesecons_load > high_load_threshold
+
-- for use by HUD
if is_high_load then
- mesecons_debug.load_level = 'high'
+ mesecons_debug.load_level = "high"
else
- mesecons_debug.load_level = 'low'
+ mesecons_debug.load_level = "low"
end
local penalty_scale, penalty_offset