|
|
| Line 2: |
Line 2: |
|
| |
|
| ==New features== | | ==New features== |
| Did some visual profiling and wrote a grapher that shows how Spring spends time:
| | Visual profiling and grapher that shows how Spring spends time: |
|
| |
|
| [[File:Grapher.jpg]] | | [[File:Grapher.jpg]] |
| Line 12: |
Line 12: |
| blue is swapBuffer (gpu/vsync) | | blue is swapBuffer (gpu/vsync) |
| pink is lua gc | | 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.
| |
Revision as of 19:24, 5 February 2014
New features
Visual profiling and grapher that shows how Spring spends time:
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