Snowcap: GPU Profiling Using Machine Learning | Al and Games #83
Key Takeaways
Snowcap, a plug-in for Ubisoft's Snowdrop engine, utilizes machine learning to estimate GPU performance on consoles, while the video demonstrates its application in game development and performance prediction.
Full Transcript
Building games is difficult. We know this. But building games that are designed to be released on multiple platforms at once. Well, that's a whole other problem. As any developer will know, getting your game running smoothly on one platform is the first part of a much longer battle. The next part is ensuring it runs as smoothly as possible on all the other hardware you want to release it on. And this brings us to Snow Cap, a plug-in built for Ubisoft's Snowdrop, the game engine used to create titles such as Tom Clansy's The Division, Star Wars Outlaws, and Avatar Frontiers of Pandora that uses AI to estimate performance on different consoles, but without actually running them on the device. Hey all, I'm Tommy Thompson. This is AI and Games. And yeah, this snowcap tool is admittedly a little weird, but I'm going to do my best to explain to you how it works and what it is they're doing. Plus, we reached out to Ubisoft for more info and had the pleasure of sitting down for an interview with three of the developers behind the tool to find out how they built it, how it works, and the value it's bringing to their game production pipelines. In an age where questions are quite rightfully being asked about the value of AI in game development, Snowcap is, for me at least, one of the coolest examples I've seen of how to use artificial intelligence to support game developers because it's helping not just speed up the process of porting games to other platforms, but it's helping developers anticipate and remove performance issues before they even deploy the game on the target hardware. Let's check it out. So, to get into the weeds of this, it's worth stressing the real problem that Snowcap is trying to solve, and that's helping support cross-platform development. As you'll know, when AAA studios ship a new title is typically released on PC and consoles at the same time. If you're porting to console and assuming we're focused on the current hardware on the market in 2026, then that means you're working on the PlayStation 5, the PS5 Pro, the Xbox Series S and X, and now potentially the Nintendo Switch 2 as well. Each of these devices have very different performance profiles as a result of the makeup of their CPUs, memory, and GPU. Quite often when larger studios have a game in development, they will have teams of devs focused on optimizing for each platform, addressing a memory issue on the PS5, dealing with GPU performance on the Xbox Series S, and so on. Speaking from my own experience supporting games to consoles, this is a long process. You work on the issue. You make a new build of the game. You deploy it to the devkit version of the console. And then begin to run profilers and other performance tests. All to ensure you don't wind up with a bad review over on Digital Foundry. Not that anything I've worked on has appeared on Digital Foundry, but you get what I mean. Now, this is all part for the course in game development, but as I said, it's a long process. You can easily lose hours of development time rebuilding the game, deploying it to the hardware, and hooking up the profiling tools to check whether any incremental improvement has been made. And this brings us to Snow Cap and how Massive used AI to help make that process easier. Snowcap is a plug-in built for the Snowdrop engine that predicts in real time the performance of a game in the engine's editor based on a particular hardware profile and graphics preset. It achieves this using a trained machine learning model that is gathering a large amount of data about how games perform in the snowdrop engine under a variety of conditions on the target hardware. And then the trained model can predict how well the current game in the editor would perform on that target hardware. As we see in this demo footage provided to us by Ubisoft, this version of Snowcap is predicting performance for the PlayStation 5, Xbox Series S, and Xbox Series X all at the same time, and it's doing it in real time in the editor. This is quite an impressive technical achievement and we'll dig into the weeds on that shortly. But it's worth taking a moment to highlight that this is not just a technical innovation but also something of a change in philosophy over how games are developed. As Frank Maestre, a senior engineer on the Snowdrop engine, explained to me, the tool started development when Snowdrop was being upgraded for the current generation of consoles, taking into account how Ubisoft games are built and the changes that were occurring at that time in rendering techniques. >> The idea of Snow Gap uh was born while we were we were upgrading Snowdrop for the next generation of platforms. uh and um basically while we were upgrading uh the plat the the engine we started to let's say some discussion with technical artists world builders rendering guys with some people working on those new platform and new capabilities new rendering techniques object materials we realized that just uh the old process of setting up budgets in a traditional way I would say uh could work at some extent but as some rendering techniques are more expensing expensive than others. Uh it was introducing a level of complexity to get a deter deterministic overview of it uh and of the final performance very very let's say random. So we started uh we started investigating the fact of injecting um in engine metrics uh very very uh deep when you are defining world generation rules object placements avoidance density it's difficult to estimate the resulting GPU in fact uh workload of what you are doing uh without creating builds and running tests. Also keep in mind that the it's not op everything is not based and technical artists uh they can actually edit their object materials properties uh using node graphs which means that our metrics should not be located at this level um the node level itself but the renderers underlying operations uh like rendering pass amount of meshes bypass as primitives uh sent to the deaf map to do cascad map. >> And in fact, it didn't start out with the ambition to be AIdriven. It was only after an internal demo was shown around the studio that Nikolai Stephanov, who is chief architect for Snowdrop and the technical director of the upcoming Tom Clansy's The Division 3, suggested this diagnostic process could be modeled using AI. This led to David Renaldi, an expert AI scientist at Massive to join the Snowcap team and start exploring how to implement the machine learning model. But while the technical part is critical, as I said, it's also about the change in approach to how games are being built. We heard from Elia Raznuski, an associate production director on Snowdrop, who explained how this is changing the way in which games are made in a more sensible way. Rather than letting performance issues creep into the game in ways that other automated tests would miss, only for them to be ironed out later, Snow Cap helps developers become more proactive in nature, identifying problems as they arise, when changes are made to the game, and try to minimize any immediate performance issues that could emerge as they go. It's really about a prevention. So, it's a bit of a mindset shift just like you described. You want to ship the features. You you have a deadline to meet. So, everybody's focus on on game play on features and sometimes it can create that kind of bottlenecks on optimization [music] uh later in in the production cycle. And so here, yes, it's really the goal to to prevent introducing unintentionally performance issues along the way along the all production. uh so you don't create these bottlenecks and we on the snow drop pipeline we we had a very natural adoption from from the games production uh and as you mentioned Nikolai Stephanov for sure the the games he works on are also adopting this tech but yes we have a very good um adoption so people naturally see the the benefit benefits and uh and are using it. >> And as Elia elaborated, by reducing the number of regular or basic performance issues being added to the game, it allows for the QA teams to focus much more on finding issues that arise from regular gameplay, as well as what happens when you just let players loose and start causing chaos. So, how does all this work? For any Ubisoft studio wanting to use Snowcap for a given game, they set up their own project definition file which defines the performance parameters and technical specifications of the game and this helps determine the expected performance at the end. In order to work both in supporting developers in the moment but also providing more accurate prediction over time, Snowcap operates in two modes. The first is of course the performance prediction mode that we described but also there is the data collection mode. After all, in order for it to predict the performance, it would be good to know how well the actual game you're developing works in practice on the target hardware, especially as the game itself begins to evolve and change over time. However, as described to me by the team, given so much of the data capture is focused on the engine itself, Snow Cap is largely game agnostic and instead is focused more on the version and configuration of Snowdrop. This means that over time they can curate data sets reflective of specific permutations of Snowdrop based on the range of render pipeline configurations and technical specifications that can be set. It's pretty simple. There's the hook in the engine that is going to be activated uh on a basis that we decide for. So of course we sample the capture because we cannot capture this uh like 60 80 100 FPS for all machines during all their execution time. it it would be uh like a huge volume of of data but it would be also kind of useless because we don't need actually all this volume of data. So to build it um to give you an idea an order of magnitude we can I mean we got a millions of data points it's really easy because we are at frame level and uh we try to uh we we random randomly sample them across uh a variety of hardware and presets. So we we aim to have a good distribution of this data uh with all the targets that we want uh to use this uh prediction for. Um and and then we use it to build a model for a given u version of of the engine. And regularly uh since play test internal play tests are being done we gather new data and we enrich uh the model or we retrain it and we see we make sure that we have no regression and and so on and so forth and then if another games or when another games comes in then we redo this exercise of um making making sure that we have the right metrics because some rendering techniques differ from game to game. So sometime we have to retrain specific models and sometime we can just reuse one out of of the shelf that we already have. But it's more than just running under the hood without any guidance. As Alia explained, Snow Cap can be configured for specific setups and preconfigured paths in the game. In fact, if you recall way back in 2020 when we released a video about how Massive had built testing bots in Tom Clansy's The Division 2, including auto testers that could run through the level based on a pre-built configuration set by the developers. Well, now Snow Cap can be attached to an auto test bot so that when it gives data reflective of a player's normal playthrough, this can be processed into heat maps and other reports that can give the developers a much clearer insight into which parts of the game have performance issues and what might be the cause of it. >> We also can set up or tweak the data tracking frequency uh to run what we call camera performance or auto test path. So across an entire level And so basically what it means is that the camera moves through the environment to automatically it does it automatically and from this data sets we can generate it maps. So it gives to the to the developers a clear picture of how the the the level performs even where it's interesting that even before gameplay elements are added. So you have an idea of your vanilla level. How does it perform? And uh it's uh it's also a useful way to spot potential issues very early uh in the in the game development uh to guide you to make smarter optimization decisions right from the start and not too late. While we are talking about Snowcap now in early 2026, the tool has existed in Snowdrop for some time now and has been adopted in most projects built in the engine in recent years. In fact, I first heard about it in the summer of 2024. And in that presentation that was shown behind closed doors, we saw its ability to track GPU performance in a complex jungle biome. And it was highlighting two key things. The first is that it's predicting the frame rate based on the target resolution for the platform. The second is the level of dynamic view scaling that is being applied which is when the game is in real time adjusting the rendering resolution on the fly such that the frame rate remains consistent. This is also useful given each project defines not just the desired resolution and frame rate for a given platform but the limits of the dynamic scaling as well. When we talk about GPU performance there are not it's not any dimensional it there are actually two dimensions of it. Um, and this is what you see in this uh in this window. And it's it's I'd say the entry point of um the use of of snow cap uh in the in the editor. But if the user wants okay, I need to dig a little more into details here. It's possible to open it into more detailed view where you can see the evolution of all the predictions in time and with more complex graph here showing all all the all the breakdown all the details for uh the predictions and side by side you can the user can also see the engine metrics that are being actually used to make the predictions. This is already a first level of an entry point for investigation. the the the user can have a look at what's happening right now in the engine and have an idea of hey I have a predicted performance drop here what should I be looking at say oh I see there is probably you know too many I don't know too many lights too many particles too many somethings and I have to act upon this and this is again just a first level of of entry but we saw that it's still helping and speeding up >> but in addition to this it can now show the engine metrics that are being used to make the predictions within the model this can be useful for developers to more readily diagnose why there is a performance issue in a particular area of the map. But it's not just tracking aspects of the game that impact GPU performance, such as the number of meshes and tries within those meshes that are being rendered, but it's also tracking CPU objects as well, courtesy of an integration with Snowdrop's performance analytics pipeline. This is of great use given many CPUbound aspects of the game will also potentially have GPU implications as well. we integrated to snow cap a CPU part. We we have um data coming from this pipeline uh that we can see in editor and we can see if an entity perform well uh at this place instead of this place or this place or this place and this place because depending on the context uh being in the wind corridor where uh let's say uh if you talk to physic uh when you are in the wind corridor uh a constant force is applied to uh to the object. Uh so the rigid body for the object will activate and generally activate on collision. Uh it will cost and actually on the frame rate war we have two winners that can break the the frame rate is the GPU which is the most important for us because this is where we try to to anticipate things. But you got the other one which is the CPU and the worst will win uh the the battle of trigger trigger warning about primary drop. So >> but we will still have edge cases because the the system are so complex that even if you have a clean clean map uh game play there but even if everything is clean there will still be a probability that something goes wrong if the player I don't know opens everything put too many explosion in a specific location. So I think it also um um relief some bandwidth for QA to really try to break the [laughter] game and and find this edge cases and the developers but they can also be more confident uh knowing okay here I did my level I create my heart and I know that uh it should uh it should run properly um on target console but yeah it's games are so complex today that uh Even with these tools, uh I think it's still difficult to we will have edge cases to to find. >> So of course the one thing that is worth bringing up and I think David Devid would be heartbroken if we didn't put it in the video was just how big, how complex and how expensive this model is. I'll let him explain. Something that I think will be interesting for your audience is to mention that we we went the way of neural networks, artificial neural networks, but we didn't go in the deep neural network direction uh because it wasn't actually needed uh in the early experimentation phase. We we tried with simple fit forward neural networks and I'm going to tell you just without telling you about the architecture or anything the size of it. So you know to to today we are in a world where it's the big race you know among the big actors of biggest model in terms of billions of parameters and so on. Snow cap model is running over a whopping 18k parameters. [laughter] So 18k parameters uh which is approximately making it big as 80 kilobyt and it's running. Why is it interesting that it it's still you know going very well in terms of uh accuracy for the prediction. We have less like less than 4% even three 3.3% I think it's what I showed at the the conference uh error rate. So which is really good but it also runs in real time on the developers workstation without impacting the frame rate on the said workstation and and [music] at frame level. So this level of you know having a really lightweight model and super well integrated in in the engine uh I think like really valuable also. >> You're right. I should have asked you this question because it's also you clearly watched the last episode we put out which was the ML move um project >> which excellent one by the way. I was >> so you're you're smaller too. >> Yeah you're your your model's smaller. Um yeah. Yeah. Compared to compared to MLM that was what a 21 megaby couple of million parameter model um 18,000 is nothing like >> it's nothing is doing the job. >> Both snowcap and our recent deep dive on ML move in episode 8 are a nice reminder that contrary to the narrative surrounding AI these days we can often solve complex problems with simple yet wellconsidered solutions. You don't need a complex uh ML model to solve sometime even complex problems like like this when you tackle the problem say oh wow it's really not not simple not something we can easily solve or we might need a big model sometimes not so um it's really I think here the learning is is is also interesting uh from that point of view um we we can solve this type of problem with really uh lightweight model that just do the job and it's beautiful. Simple is beautiful. >> You know, having made these videos for over 10 years, it's not often an idea comes along that catches me by surprise, but Snow Cap is certainly one of them. a really innovative way to apply AI to support game developers in a sensible and practical way, allowing developers to get on with their day-to-day job, but helping them find the issues in their work faster and more readily such that they can do their best work first time around rather than having to go back and fix it later. Plus, it's clear as the range of platform specifications grows with new platforms coming to market, be it new consoles, new handhelds, or even potentially using this to benchmark certain PC profiles, tools such as Snow Cap can help streamline the process of porting these games and ensuring they run smoothly. And if this means we get a lot more big AAA games running really smoothly on portable platforms, then I'm all for it. A huge thank you to Devid, Ilia, and Frank for sitting down to chat with us. Plus to David Antel and Joe Mrage from the PR teams at Massive Entertainment and Ubisoft for supporting us with this project, including giving us permission to share some of the behind the scenes footage of Snow Cap in action as you've seen in this video. That's it for this one. Thank you so much for watching. Stay safe, take care, and I'll be back once I've played a bit more of Star Wars Outlaws. The Switch 2 port is really good. [music] I mean, no, this episode wasn't sponsored by Ubisoft. It's just I'm having a good time going back and playing this game again on the Switch 2. And ah, cross progression. Get [clears throat] in. >> [music]
Original Description
Support our work at http://www.aiandgames.com
Snowcap is a plugin for the Snowdrop engine built by @UbisoftMassiveEntertainment, used in games like The Division, Star Wars Outlaws, and Avatar: Frontiers of Pandora, that estimates GPU performance on consoles - but without running the game on the target hardware. Whether it's Xbox, PlayStation (or Switch 2?), Snowcap uses a trained machine learning model to estimate whether the game will run within acceptable performance ranges.
Tommy sits down for a conversation with three developers involved in Snowcap's development - engine programming lead Franck Maestre, associate production director Elia Wrzesniewski, and expert data scientist David Renaudie - to find out how it works, how the project started out, and how it has evolved into an essential part of the process for artists and level designers working in Snowdrop.
Note that this episode is not sponsored by @Ubisoft. We did not receive any assets (be it games, hardware, cash, or otherwise) from the company in making this video.
[00:00] Intro
[01:39] What is Snowcap?
[04:26] A Change in Philosophy
[09:04] How it Works
[13:26] Visualising Performance
[20:20] "Simple is Beautiful"
[22:37] Credits
--
Writer and Voice: Tommy Thompson
Editing and Production Support: Shraddha Gupta
AI and Games Logos: Andy Carolan
Theme Music: Ben Ridge
--
'AI and Games' is a YouTube series on research and applications of Artificial Intelligence in video games.
Check out all of our content:
- Website and Newsletter: http://www.aiandgames.com
- AI and Games: http://www.youtube.com/@AIandGames
- AI and Games Plus: http://www.youtube.com/@AIandGamesPlus
- AI and Games Conference: http://www.youtube.com/@AIandGamesConference
- Goal State: http://www.youtube.com/@GoalStateAI
- Livestreams on Twitch: http://www.twitch.tv/aiandgames
- Join our Discord Community: https://discord.aiandgames.com
--
Follow 'AI and Games' on social media.
BlueSky: https://bsky.app/profile/tommy.aiandgames
Watch on YouTube ↗
(saves to browser)
Sign in to unlock AI tutor explanation · ⚡30
Playlist
Uploads from AI and Games · AI and Games · 0 of 60
← Previous
Next →
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
Evolving Particle Weapons in Galactic Arms Race | AI and Games #04
AI and Games
Pac-Man AI Research and Competitions | AI and Games #06
AI and Games
The Behaviour Tree AI of Halo 2 | AI and Games #09
AI and Games
Researching Super Mario Bros. Level Design | AI and Games #10
AI and Games
Teaching Robots to Play | AI and Games #12
AI and Games
The Quest for AI Game Designers | AI and Games #13
AI and Games
HTN Planning in Transformers: Fall of Cybertron | AI and Games #14
AI and Games
The AI of Alien: Isolation | AI and Games #15
AI and Games
Status Performance Analysis in Team Fortress 2 | AI and Games #17
AI and Games
Training the Shadow AI of Killer Instinct (2013) | AI and Games #18
AI and Games
Resurrection & Reverence: The Return of DOOM | Design Dive
AI and Games
Left Behind on LV-426 - The Design of Aliens: Colonial Marines | Design Dive
AI and Games
Games By ANGELINA, the AI Game Designer | AI and Games #20
AI and Games
Prepare to Die by Simple AI - Dark Souls and Difficulty | Design Dive
AI and Games
Looking for Love on Pandora: PCG and Borderlands 2 | Design Dive
AI and Games
The AI of Shogun: Total War | AI and Games #21
AI and Games
The Campaign AI of Total War: Rome II | AI and Games #23
AI and Games
AI 101: Monte Carlo Tree Search
AI and Games
The Diplomacy AI in Total War: Attila | AI and Games #24
AI and Games
A History of AI Research in StarCraft | AI and Games #26
AI and Games
Dota 2, MOBA's and the Future of AI Research | AI and Games #27
AI and Games
Procedural Level Generation in Sure Footing | AI and Games #28
AI and Games
Behind the AI and Storytelling of Spec Ops: The Line | AI and Games #29
AI and Games
The AI of DOOM (2016) | AI and Games #30
AI and Games
Machine Learning Analysis of Player Behaviour in Tomb Raider: Underworld | AI and Games #31
AI and Games
How A Navigation Mesh Works in 3D Games | AI 101
AI and Games
How Halo 3 Builds Large-Scale AI Battles | AI and Games #33
AI and Games
Enemy AI Design in Tom Clancy's The Division (Part 1 of 2) | AI and Games #34
AI and Games
Building the Online World of Tom Clancy's The Division (Part 2 of 2) | AI and Games #35
AI and Games
Behaviour Trees: The Cornerstone of Modern Game AI | AI 101
AI and Games
Why Friendly AI Cheat in Ghost Recon Wildlands | AI and Games #36
AI and Games
The AI of Horizon Zero Dawn | Part 1: Rise of the Machines | AI and Games #37
AI and Games
The AI of Horizon Zero Dawn | Part 2: Metal Militia | AI and Games #38
AI and Games
Augmented Reaction: Vanquish - 9 Years Later | Design Dive
AI and Games
Building Mario Levels with Machine Learning | AI and Games #39
AI and Games
The AI of Half-Life: Finite State Machines | AI 101
AI and Games
Building a Pirate's Paradise in Sea of Thieves | AI and Games #40
AI and Games
The Secrets of Skeleton and Shark AI in Sea of Thieves | AI and Games #41
AI and Games
How Megalodon, Kraken and Skeleton Ships Haunt the Sea of Thieves | AI and Games #42
AI and Games
How Rare Tests Sea of Thieves to Stop Bugs Reaching Players | AI and Games #43
AI and Games
The Legacy of GoldenEye 007 | Design Dive
AI and Games
The Secrets of GoldenEye's AI Revealed | AI and Games #44
AI and Games
Sandbox Assassin: The AI of Hitman (2016) | AI and Games #45
AI and Games
The Dangers of AI, Microtransactions & Lootboxes | Design Dive
AI and Games
Minecraft Villages Built by AI - The Generative Design in Minecraft Competition | AI and Games #46
AI and Games
The Secret Reward Systems of Dark Souls II | Design Dive
AI and Games
Why Adding Bots to Fortnite Was a Great Idea | Design Dive
AI and Games
The Best Games Engines for AI (2019) | AI 101
AI and Games
How Atriox Can Beat You in Halo Wars 2 Without Cheating | AI and Games #47
AI and Games
How AlphaStar Became a StarCraft Grandmaster | AI and Games #48
AI and Games
Why AlphaStar Does Not Solve Gaming's AI Problems | Design Dive
AI and Games
Designing the Enemy AI of Tom Clancy's The Division 2 | AI and Games
AI and Games
Bringing Washington D.C. to Life: The AI of Tom Clancy's The Division 2 | AI and Games
AI and Games
The Secret AI Testers Inside Tom Clancy's The Division 2 | AI and Games
AI and Games
DOOM 64 Revisited | Design Dive
AI and Games
The Story of Facade: The AI-Powered Interactive Drama | AI and Games #49
AI and Games
Building the AI of F.E.A.R. with Goal Oriented Action Planning | AI 101
AI and Games
Revisiting the AI of Alien: Isolation | AI and Games #50
AI and Games
How Splinter Cell: Blacklist Builds Balance for Stealth | AI and Games #51
AI and Games
Endure and Survive: the AI of The Last of Us | AI and Games #52
AI and Games
More on: ML Maths Basics
View skill →Related Reads
📰
📰
📰
📰
9 Python Concepts That Become Obvious Once You Build Real Applications
Medium · Programming
9 Python Concepts That Become Obvious Once You Build Real Applications
Medium · Python
I Taught an AI to Recognize the Shadows of Four-Dimensional Objects
Medium · AI
Java Stream API — Beyond Java 8 Part 1
Medium · Programming
🎓
Tutor Explanation
DeepCamp AI