AMD Ryzen Optimization Patch Released for Ashes of Singularity, Claims 30% Performance Improvement
As with any major new CPU architecture, AMD’s Ryzen CPU is experiencing some growing pains early out the gate as gaming performance had been a little less impressive than expected. This can be seen in games such as Ashes of the Singularity where although both multi-thread and single-core performance were competitive against Intel’s 6-core Core i7-6800K and even the 10-core Core i7-6900K in many other benchmarks, it trailed behind Intel’s Quad-Core Core i7-7700K in several gaming benchmarks.
As a result, many were baffled at the performance results. If the Ryzen 7 1800X could adequately compete against Intel’s top-end Core i7-6900K in both single and multithread benchmarks, what’s holding back its gaming performance?
In a previous Reddit Q&A, Dr. Lisa Su addressed the issue as one of software optimizations and has promised that optimizations for existing and new games to be on their way.
We hear people on wanting to see improved 1080p performance and we fully expect that Ryzen performance in 1080p will only get better as developers get more time with “Zen”. We have over 300+ developers now working with “Zen” and several of the developers for Ashes of Singularity and Total Warhammer are actively optimizing now.
The AotS Fix
AMD has kept their promises with the first batch of optimizations where they’ve been closely working with Oxide games to release a performance patch for Ashes of Singularity. The following is AMD’s internal benchmarks, followed by two benchmarks from Tom’s Hardware and PC Perspective.
Despite its tiny size, the new patch brings very healthy gains. Compared to the pre-patched version, the post-patched game achieves 30% higher frame rate on average.
The CPU-focused test in Ashes of Singularity revealed a 14.29% in average framerate, proving that the performance gains were indeed due to CPU optimizations.
Tom’s Hardware’s testing showed a 7% performance increase in the GPU-focused test. The difference is less dramatic than what AMD claims, but it’s an improvement none the less.
In the CPU-focused test, AMD Ryzen 1800X’s average frame rate improved by 16.36%. Its scores now put it a hair ahead of the i7-7700K. Notice that none of the Intel CPUs benefitted from the patch, proving that the optimization wasn’t just a blanket tweak for all platforms.
PC Perspective’s tests showed that at high presets, the GPU-focused test showed a 22% performance increase over the pre-patched version. What’s interesting is that Ryzen CPUs seem to benefit greatly from higher bandwidth memory. When paired with 3,200MHz DDR4 RAM, the Ryzen 7 1800X saw an additional 9% performance improvement.
What The Patch Did
Why did the patch yield such drastic performance improvements? To understand what the patch did, we need to examine the Ryzen’s architecture a little deeper. Unlike other CPU architectures, the Ryzen 7 1800X isn’t actually made up of 8 independent cores, but two quad-core CCX modules joined together by Infinity Fabric, a super fast interconnect. While the interconnect is extremely fast and closely placed near the CCXs, it can still introduce latency. While the latency is so low it can only be measured in nanoseconds, when it comes to gaming, this can result in lower FPS.
Unfortunately, many of today’s games aren’t optimized to do so. As an example, lets say core 1-4 is in CCX A and core 5-8 is on CCX B. When core 1 is out of resources, the game will demand core 6 to pick up the slack instead of core 2. This forces the data exchange over Infinity Fabric, introducing latency. As such, keeping workloads segregated within one CCX to minimize usage of the Infinity Fabric would remove this latency.
The collaboration between Oxide games and AMD is just the beginning. AMD is currently working with over 300 studios to release patches to remedy this issue. AMD also states that this is a very simple thing to fix and that it only took Oxide games just weeks to devise a solution.
Update: Changed “8-core Core i7-6820K” to “6-core Core i7-6800K”.