https://streamable.com/8l0c7v
It's somewhat noticeable in the webm, but running the test project first-hang really exemplifies the issue properly.
Code is as bare-bones as could be just for some testing
/world
icon_size = 32
fps = 40
turf = /turf/water
/turf
icon = 'turfs.dmi'
grass
icon_state = "grass"
water
density = 1
icon_state = "water"
/mob
icon = 'player.dmi'
step_size = 4
var
health = 100
maxhealth = 1000
mana = 10
maxmana = 100
strength = 50
defense = 30
fatigue = 0
experience = 50
level = 1000
hunger = 25
hydration = 100
tmp
move_time
move_state
verb
test()
set category = "blank tab"
// only exists to add a mostly-blank tab in the statpanel
movekey(dir as num, state as num)
set hidden = 1, instant = 1
if(state)
move_state |= dir
if(!move_time)
moveloop()
else
move_state &= ~dir
proc
moveloop()
set waitfor = 0
move_time = world.time
while(move_state)
step(src, move_state)
sleep(world.tick_lag)
move_time = null
Stat()
if(statpanel("test"))
stat("Level", "[level]")
stat("Experience", "[experience]/100")
stat("","")
stat("Health", "[health]/[maxhealth]")
stat("Mana", "[mana]/[maxmana]")
stat("Strength", "[strength]")
stat("Defense", "[defense]")
stat("","")
stat("Fatigue", "[fatigue]%")
stat("Hunger", "[hunger]%")
stat("Hydration", "[hydration]%")
stat("","")
stat("Location", "[x],[y],[z]")
/client
view = "18x18"
perspective = EDGE_PERSPECTIVE
https://a.pomf.cat/wrgdlo.7z
Link to download the 7z of the test project.
I hope I'm not just dumb as hell?
I've seen something similar (worse) before: having a stat that changes (like "Location") inside a statpanel displaying a list of graphical objects (like an inventory) causes much worse stutter.
My theory has been that it's because of the Location stat label updating whenever your coordinates change, causing the entire statpanel to redraw in some extremely inefficient way.
More frequent statpanel updates = more frequent stutter.
More information displayed = longer stutter.
As always, steer clear of statpanels whenever possible, but an optimization here would definitely help a lot.