ReleaseNotes:98.0
New features
Did some visual profiling and wrote a grapher that shows how Spring spends time:
[File:Grapher.jpg]
You see that `Frame Grapher` which displays the last half second and its time slices:
green are video frames red are simframes blue is swapBuffer (gpu/vsync) pink is lua gc
It directly shows that something is wrong in GC (sure ZK creates likely a lot of garbage but it wouldn't explain what we see), so I tweaked the GC a bit and got this:
http://springrts.com/phpbb/download/file.php?id=8601
MUCH better already (it likely solves 90% micro lagging in ZK, but it won't solve the ones in BA what spends much less time in GC even in 96!). When you take a close look at the simframes you notice that there is a semi huge gap after each of it, those range from 1ms upto ~50ms (maybe something SDL or NetCode related) and are very likely one cause of microlags (additional to uneven simframe length, but that's another topic). Atm I don't know what Spring is doing in those gaps yet, needs further investigation.