Google Game Dev Summit 2022 “Stadia Adventures in slow server code on Unity”

I talk about how I sped up my Unity server code in debug by up to 50x.

First I found and helped Unity fix a bug in il2cpp that speeds up debug builds by up to 5x. This bug affected all il2cpp platforms, not just Stadia, so iOS, PS4, Android etc. The bug was in sequence points, the code that helps synchronize your code with the debugger. The code for these sequence points are generated every line where you can put a breakpoint, so even if this code is fast it will still slow down your code quite a bit.

After I show that you can use burst even without Jobs and get another 5x to 10x! As this gets rid of the sequence points altogether but you do have to debug with the different native debugger. So in the end I made my code 50x faster in debug with some fairly small targeted changes.

Download PDF

Google Game Dev Summit 2022 Stadia Adventures in slow server code on Unity.pdf

Github sample code

unity jobs vs ms threads sample

CppCon 2017: Scott Wardle “EA’s Secret Weapon: Packages and Modules”

I talk about EA Secret Weapon called “packages” that we have had for over 14 years. EA's Packages are like Ruby’s Gems or Perl’s CPAN or Rust’s cargo. If you build a package from the package server it will download all of its dependencies.

This talk will be about what we have learned about packages and versioning while building our large AAA games over the last 10+ years. Finally, what do we see for the future, like how will C++ modules fit in?

Download PDF

EA's Secret Weapon - Packages and Modules - Scott Wardle - CppCon 2017.pdf

Download Powerpoint

EA's Secret Weapon - Packages and Modules - Scott Wardle - CppCon 2017.pptx

CppCon 2015: Scott Wardle “Memory and C++ debugging at Electronic Arts”

I talk about my work at EA and the current memory and C++ debugging setup and tools used in games.

PS4 and Xbox One have virtual memory and 64 bit address spaces, GPU and CPU are getting closer in the ability to work virtual memory. So our tools are getting better and better and closer to PCs. Most of a games memory goes towards art and level data like bitmap textures and polygon meshes. So artist and designer need to understand how much their data takes up. Giving them call stacks of memory allocations does not help. They want to know how big is a group of building is. Why is this group of building bigger than this one? Maybe this one has some animation data or one of the textures is too big. But there are 10,000s of objects built by 100s of people all around the world.

Download PDF

Memory and C++ debuging at EA - Scott Wardle - CppCon 2015.pdf

Download Powerpoint

Memory and C++ debugging at EA - Scott Wardle - CppCon 2015.pptx