~/talk

Data Oriented Design and Entity Component System Explained

Talkat ACCU 2024 · 2024-04-17..04-20· [game-development, frontend-architecture]
slides:none on file

Explains why memory locality beats extra abstractions, shows Quickbench microbenchmarks with realistic padding to turn a ~10–15% win into 2×+ as structures grow, and demonstrates a tiny ECS storage: two dense vectors plus an indirection table (a dense-sparse array) that uses swap-with-tail indexing and generation IDs for stable entity IDs. Benchmarks and code snippets justify when ECS-like component arrays help (iterating by component) and where they cost (frequent add/removes or many archetype combinations).

AI-written summary · about

  1. 0:00Introduction
  2. 1:56ECS in game dev
  3. 6:09Hardware limits and cache misses
  4. 14:36Cache lines and memory access
  5. 22:36Data-oriented design benefits
  6. 25:26Traditional vs data-oriented layouts
  7. 32:55Optimizing memory with dense arrays
  8. 35:22Benchmarking with Quick Bench
  9. 39:12Formalizing DOD into ECS
  10. 44:06Efficient ECS data structures
  11. 51:07ECS frameworks and implementations
  12. 1:07:56ECS challenges and limits
  13. 1:14:35Decoupling data for performance
  14. 1:19:54Summary
~/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.