SSoverlay improvements and tweaks (#32371)

* Overlay per-type cost logging.

Overlays will now log how long each type took to process.

Changed up how overlays was done to account for the fact its a queue and not a processor. (it was using almost none of the processing subsystem framework)

Made the overlay loop faster by making it not cut the list until the end.

Added a simple generic benchmark stat tracking system.

I don't know how much overhead this adds to overlays. i may put it behind testing or something, but i do want to test this on the serbers to get some stats.

* Removes flush() as it was creating race conditions

* Use ref

* text2file

* Atoms added as an overlay will have their pending overlays compiled before being converted to an appearance
This commit is contained in:
Kyle Spier-Swenson
2017-11-10 11:25:29 -08:00
committed by CitadelStationBot
parent 70e9eeb8fd
commit 2d8fc6de61
12 changed files with 121 additions and 47 deletions

View File

@@ -778,6 +778,13 @@ GLOBAL_PROTECT(LastAdminCalledProc)
usr << browse(dellog.Join(), "window=dellog")
/client/proc/cmd_display_overlay_log()
set category = "Debug"
set name = "Display overlay Log"
set desc = "Display SSoverlays log of everything that's passed through it."
render_stats(SSoverlays.stats, src)
/client/proc/cmd_display_init_log()
set category = "Debug"
set name = "Display Initialize() Log"