CppCon 2014: Jeff Preshing "How Ubisoft Develops Games for Multicore - Before and After C++11"
CppConRecommended by 2 HN commenters across 2 months, 2015–2021
talk · intermediate · evergreen · 2015–2021 on HN
CppCon 2014 talk by Jeff Preshing on how Ubisoft Montreal developed games for multicore hardware, before and after C++11 concurrency support. It goes into atomics and lock-free programming in practice.
Recommended as a clear, practical introduction to atomics and lock-free programming in C++.
Up next
6 mo on HNLife in life
Phillip Bradbury
Recommended 6× on HN · 2013–2025
9 mo on HNObject-Oriented Programming is Bad
Brian Will
Recommended 13× on HN · 2016–2025
11 mo on HNCppCon 2015: Andrei Alexandrescu “std::allocator...”
CppCon
Recommended 7× on HN · 2017–2025
12 mo on HNLexical Scanning in Go - Rob Pike
GoogleFOSSSydney
Recommended 13× on HN · 2012–2025
10 mo on HNCppCon 2017: Matt Kulukundis “Designing a Fast, Efficient, Cache-friendly Hash Table, Step by Step”
CppCon
Recommended 9× on HN · 2018–2026
9 mo on HNRustConf 2018 - Closing Keynote - Using Rust For Game Development by Catherine West
Rust Programming Language
Recommended 9× on HN · 2018–2023
10 mo on HNCppCon 2016: Jason Turner “Rich Code for Tiny Computers: A Simple Commodore 64 Game in C++17”
CppCon
Recommended 13× on HN · 2016–2024
9 mo on HNIdeas about a new programming language for games.
Jonathan Blow
Recommended 7× on HN · 2014–2025
9 mo on HNCppCon 2014: Mike Acton "Data-Oriented Design and C++"
CppCon
Recommended 9× on HN · 2015–2026
9 mo on HNHow I program C
Eskil Steenberg
Recommended 8× on HN · 2017–2025
9 mo on HNGoogle I/O 2012 - Go Concurrency Patterns
Google for Developers
Recommended 9× on HN · 2012–2025
7 mo on HNCppCon 2015: Kate Gregory “Stop Teaching C"
CppCon
Recommended 7× on HN · 2016–2025
4 comments from Hacker News
Jeff Preshing gave a really good introduction to atomics at CppCon 2014.[1] He explains it so clearly that 1 day later I had a fully tested lock-free work stealing queue and a queue. One of my favorite talks of last year. [1]: ▶ this video
For those interested in the implementation of atomic operations see Jeff Preshing's "How Ubisoft Develops Games for Multicore - Before and After C++11", especially after 15m55s in on the video, or slide 37 of the pdf on github. Video: ▶ this video PDF: link
I'm making a game/engine with efficiency/performance as a top goal. I'v spent years thinking about the design. And after i figured it out, i found a talk from an Ubisoft employee that is mostly what i came up with. The problems are many, especially since i want to support multiplayer. The biggest solutions are around how data is transformed and scheduling the code that transforms it, more or less. The talk: ▶ this video
Similar talk: CppCon 2014: Jeff Preshing "How Ubisoft Develops Games for Multicore - Before and After C++11" ▶ this video Ubisoft's talk spends more time getting into the weeds with atomic ops. Naughty Dog's is more of an architecture discussion. If you can only watch one, I'll recommend Naughty Dog's.