Game engine using STD C++ 11
summary
A small game engine prototype uses std C++11 primitives to push parallelism: a std::thread pool sized by hardware_concurrency runs a lock-minimizing task queue, tasks own work via unique_ptr + std::future, and synchronization happens only at frame boundaries so multiple frames can be in flight to hit 60 FPS (16 ms). It generates compile-time resource IDs with constexpr hashing and serializes fields by offset for fast I/O, uses std::chrono high_resolution_clock for timestep. Multi-threaded rendering isn’t solved and MSVC constexpra evaluation behaved more like runtime in some cases.
AI-written summary · about
chapters (16)
- 0:00Intro
- 0:27HELLO & WELCOME
- 4:53GAME ENGINES DON'T USE STD
- 12:25HOW DOES C++11 HELP US? - DATA CREATION/LOADING
- 14:02COMPILE TIME RESOURCE VERSIONING
- 21:30MASS CONCURRENCY (CONT)
- 26:52TASKSYSTEM (CONT) - PROCESSING A TASK
- 28:10TASKSYSTEM (CONT)-TASK FLOW
- 28:57WHAT'S IN A FRAME?
- 33:08WHAT'S IN A FRAME (CONT)
- 35:15C++ STANDARD HIGHLIGHTS Standardization helps simplify code bases
- 37:51C++ STANDARD HIGHLIGHTS CONTINUED
- 47:54WHAT ABOUT STD::ASYNC?
- 48:17LANGUAGE FEATURES ON THE WAY
- 54:11LANGUAGE NICE TO HAVE THINGS CONT
- 59:03REFERENCES
related talks
01h 04mParallel Game Engine Design
01h 08mBetter Code: Concurrency
01h 08mImplementation of a multithreaded compile-time ECS in C++14
47mConcurrent Programming in C++
01h 18mThis Videogame Developer Used the STL and You'll Never Guess What Happened
59mAn Introduction to Multithreading in C++20
01h 04mAtomics, Locks, and Tasks (part 2 of 2)
57mThis Videogame Programmer Used the STL and You Will Never Guess What Happened Next
