A common complaint in game development is that games take to long to start up. Players hate it and developers waste a long time watching loading screens.
Last spring I dived into my game’s startup code and figured out ways to shave tens of seconds out of the time to reach main menu, and was able to introduce similar benefits to most of our other titles by looking into threading efficiency.
In this port-mortem analysis, I will present the various steps I took to analyze concurrency, improve threading performance and reduce lock contention.
Attendees will be shown how Intel vTune can be used to profile threading issues, how “thread safe” APIs can be misleading and how re-architecturing code in a lock-free fashion can drastically improve throughput.
We will also briefly touch how user-facing application can cheat and achieve perceived speedups by knowing the users’ workflow.
#game-development