Analyzing WoW Shadowlands Spires of Ascension 9.0.5 performance regression
After patch 9.0.5 lot of players reported FPS drops in various places in the game. Blizzard followed this by some fixes but some spots like Spires of Ascension still remain problematic to some players on PC and macOS. Lets analyze the problem.
Spires of Ascension problem
Problems were reported for Apple M1 silicon (and older Apple hardware) as well as for PC, especially for iGPU laptops and GPUs with slower VRAM configurations (pixel fill rates?). Some pointed to the anima conductor as the source of the FPS drop. Here is few EU/US forum topics about the problem:
- Spires of Ascension - Massive Fps Drop (facing north)
- Spires of Ascension FPS drop post 9.0.5
- Drops in FPS, out of nowhere! A supportive thread please slight_smile PC ONLY
- [Mac] Fps being lower by 20-30 after 9.0.5 (no addons used)
- Important FPS drop since patch today [PC]
tldr - quick facts
- My 9.0 and Beta WoW Shadowlands benchmarks for open zones like Bastion and Ardenweald are similar to 9.0.5 but higher in Spires of Ascension - FPS in SoA is lower now than before the patch.
- FPS in Spires of Ascension is still high for stronger GPUs with high pixel fill rate / high VRAM throughput but very low for those with slower and for integrated graphics.
- Radeon GPU profiler shows that for SoA the GPU shades record high amount of pixel, way higher than for any other dungeon tested, and even more than what is needed for Ardenweald.
- Similar bug - excess amount of shaded pixels - was also in Rustbolt after one of BfA hotfix patches (which caused FPS drop).
- The bug is on 9.0.5 as well as on 9.1 PTR.
- Having a built in benchmark/test suite would help players test their hardware, solve common problems and inform Blizzard about potential problems after a patch...
If you want full analysis, then follow on with the article :)
Comparison to historical data
Old benchmarks aside of using older version of the game would also run on different drivers and Windows version (and potentially different BIOS and AGESA version for Ryzen systems) - so they may have many variables affecting performance and not perfectly comparable. Below I compared my Shadowlands 9.0 and Beta results with 9.0.5 and 9.1 PTR.
Average and 1% low FPS was measured via MSI Afterburner on 2000-4000 frames. Dungeons were benchmarked on a static view on their entrances.
High-end - RTX 3070 + Ryzen 5900X
For my main system I had data collected from WoW Shadowlands launch - multiple dungeon runs with average FPS for each boss. I compared single SoA run on current 9.0.5.38134 patch with those results plus open world Bastion and Ardenweald benchmark spots for reference:
The benchmarks were run at 3440x1440 with no FPS limiters or VSync. Game set to mode 7 without DXR, Nvidia 465.89 drivers, 4 x 8 GB RAM (3800MHz CL16) and with some addons.
As you can see the FPS for SoA bosses is lower, aside maybe for Oryphiron but doesn't change much for open world Ardenweald and Bastion spots. The combat
benchmark is the mass combat single-core limited benchmark done in Karazan TBC.
No change in the Karazan benchmark means the game very likely doesn't have any global
problems that would be CPU related. This scenario is heavily limited by single core performance. Bastion open world static view is bit more GPU dependent, while Ardenweald is quite heavy on the GPU side. As the results are quite similar it seems the game doesn't have any global
issue.
Even though the FPS is lower in SoA it’s still way above very good framerate
so without measuring it it would not be detectable on such system (unless you are running a 200+ high refresh display).
Low-end systems
I've also tested RX 460 4GB, GTX 1050Ti and GTX 1070 running on i5-9400F system with 2x8GB 3200CL15 RAM and 1080p resolution and mode 7.
My historical data (Shadowlands Beta) pretty much lines up for Bastion and Ardenweald test spots. For patch 9.0.5.38134 RX 460 performed as follow:
De Other Side is performing really well, while SoA and to some extent also HoA are quite low. In all of those cases the GPU was at 100% load. Game was using around 1,7GB or VRAM (where as the GPU has 4GB available).
Ardenweald is quite GPU demanding zone, likely the most demanding in the history of WoW and you can see it's very similar in terms of performance to SoA.
With GPU bottlenecks lowering game settings increases the performance by a lot for GPU bound scenarios (a.k.a. non-combat). However for SoA the change is quite small (9.1.0.38312 PTR):
And here is comparison between GPUs:
As you can see at 1080p only weaker GPUs like GTX 1050Ti and RX 460 would be perceivable as having lower FPS and being less fluid. The question is why SoA has 37 FPS on RX 460 while Necrotic Wake 84 FPS and De Other Side 120 FPS?
GPU workload analysis - Radeon GPU Profiler
Using Radeon GPU profiler I captured data for each of the benchmark spots (dungeons, Ardenweald and Bastion). This tool gives an insight on what GPU is doing to render a frame so that game engine developers can optimize and debug their code. I got the quantities of different workloads
to see if there will be something out of ordinary for SoA:
GPU got similar amount of events during a frame (aside of De Other Side which wasn't super fast for no reason):
Also amount of shaded vertices is similar:
But if we look at the amount of shaded pixels we see SoA topping the chart as 125 million shaded pixels per frame, even more than quite detailed and GPU intensive Ardenweald.
There is a bug in SoA causing the game engine to render way more stuff
than needed which results in a performance penalty that mostly affects integrated graphics and low tier dedicated graphics with slow VRAM - low pixel fill rate.
Similar bug was in Battle for Azeroth when after a hotfix Rustbolt also dropped FPS by a lot and the profiler also showcased excess amount of shaded pixels.
This should be fixed and maybe even optimized so that so more of the dungeons perform like graphically simple
De Other Side (or at least the main Muehzala chamber).
WoW patches/benchmarking problem
After a patch WoW technical forums get flooded with people having performance problems, #132 memory crashes and more. The game has no benchmark/test mode so hardware reviewers don't benchmark World of Warcraft - and if some result does show up from non-WoW-player then it's pretty much useless as FPS in WoW is highly dependent on where you are and what is happening around you.
Lack of benchmark/test tools means that players can't reliably benchmark their system and Blizzard doesn't immediately and reliably know that they have a regression for some hardware. Instead they have to go through forums and ask for DxDiag logs...
And if the game had some bit more advanced benchmark system, with like using the Rivatuner statistics server or alike - the game could look for common problems like overheating, SSD throttling and alike and inform the player about them. This would limit the amount of forum posts by a lot.
Comment article