CppCon 2014: Jeff Preshing "How Ubisoft Develops Games for Multicore - Before and After C++11"

CppCon2 HN recommenders · 2015–2021
53K views · talk · evergreen · Uploaded 2014-10-23

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++.

Watch on YouTube

4 comments from Hacker News

@zamalek2015 · in “Comparison: Lockless programming with atomics in C++ 11 vs. mutex and RW-locks”

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]: [VIDEO]

Strongly recommendsView on HN
@dougbinks2015 · in “Implementing a lightweight task scheduler in C++”

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: [VIDEO] PDF: [LINK]

RecommendsView on HN
@corysama2016 · in “Parallelizing the Naughty Dog Engine Using Fibers [video]”

Similar talk: CppCon 2014: Jeff Preshing "How Ubisoft Develops Games for Multicore - Before and After C++11" [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.

@gens2021 · in “Ask HN: What are you working on?”

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: [VIDEO]