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++.
49:55How Python was Shaped by leaky Internals, Armin Ronacher, Flask framework
Видео с мероприятий {speach!
1:12:27CppCon 2015: Andrei Alexandrescu “std::allocator...”
CppCon
51:18Lexical Scanning in Go - Rob Pike
GoogleFOSSSydney
1:04:04Overwatch Gameplay Architecture and Netcode
GDC Festival of Gaming
1:02:42Preventing the Collapse of Civilization / Jonathan Blow (Thekla, Inc)
DevGAMM
42:15"Performance Matters" by Emery Berger
Strange Loop Conference
1:48:55The Thirty Million Line Problem
Molly Rocket
59:34CppCon 2017: Matt Kulukundis “Designing a Fast, Efficient, Cache-friendly Hash Table, Step by Step”
CppCon
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]: [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: [VIDEO] PDF: [LINK]
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.
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]