~/talk

Making Games Start Fast: A Story About Concurrency

Talkat CppCon 2020 · 2020-09-14..09-18· [concurrency, game-development]
slides:none on file

Uses Intel VTune to find heavy mutex contention inside the filesystem layer (fizsfest) and shows that a single global lock causes ~50 seconds of spin-wait on a 60 s startup. Removing thread-local locking, narrowing lock scopes, and promising a read-only mount phase eliminates most waits and raising CPU utilization; switching renderer support to DX11 and parallelizing asset uploads cuts startup from ~60s to ~17–20s. Demonstrates tactical refactors that work and where full refactors would be needed.

AI-written summary · about

  1. 0:00Introduction and speaker intro
  2. 1:13Talk overview and demo setup
  3. 3:42Live demo of game startup
  4. 7:17Profiling startup performance
  5. 13:59The problem with mutexes and locks
  6. 23:30Fixing filesystem library bottlenecks
  7. 31:21Improving localization and audio loading
  8. 33:49DirectX 9 limitations and console insights
  9. 36:40Parallelizing asset loading
  10. 41:14Tactical lock scope reduction
  11. 47:21Async loading and user workflow
  12. 55:05Key lessons and unexpected gains
  13. 1:00:30Q&A and closing remarks
~/search
type to search 6,249 conferences, 138,987 speakers and 185,172 talks
~/help
cmdctrl k
search every conference, speaker and series
/
focus the filter search
h
home
c
conferences
s
speakers
e
series
t
light / dark — the status bar button does the same
?
this help
esc
close this, then clear every filter — or just the search, while you are typing in it

Ignored while you are typing. Pages without a filter rail have no search to focus.