As we saw two weeks ago, AMD's new Ryzen CPU is excellent in many regards. Hurrah. But its most conspicuous weakness is gaming. Haroo. Ryzen really is awfully important for all PC enthusiasts, so it's worth a closer look at just what is going on with Ryzen and PC gaming. Be warned, however, for now there aren't any easy answers.
Part of the problem is the inevitably silly scheduling of big product launches. I understand some of our American cousins got as much as a week with Ryzen before the reviews were published.
Back here in Blighty, I only got my hands on the thing 24 hours before the story went up and I was not alone in that. Moreover, Ryzen is a brand new and largely unknown architecture which makes everything a lot more complicated. At launch, in other words, it just wasn't possible to have a complete handle on how the thing performed and why.
Anyway, the broad picture from the first round of reviews was that Ryzen was hot stuff for multi-threaded apps and decent in terms of single-threaded performance but suffered from some performance blackspots, many of which just so happened to overlap with games. Bit of a bummer.
The immediate rationalisation was that games simply aren't optimsed for Ryzen. They're largely developed on Intel platforms and often using tools like Intel's own compilers. So it's no surprise to see occasionally mediocre games performance on Ryzen.
Unfortunately, on reflection that argument doesn't really bear scrutiny. For starters, virtually none if not very actually none of the benchmarks used in any of the reviews were optimised for Ryzen. Cinebench isn't optimised for Ryzen. But it absolutely bloody flies.
Likewise, many games are indeed designed first to run on AMD hardware – namely the AMD CPU cores found in the current high-performance console duo. Granted, those low-power AMD cores bear little relation to the new Ryzen chip. But they bear even less relation to any Intel CPU core, on which they pretty much all run very well, it must be said.
An optimisation issue or just basically borked?
So, there really must be something quite specific about Ryzen that's causing the problem. That isn't to say that it can't be solved with optimisations. But as a generic PC-compatible CPU, Ryzen must have a few wrinkles.
Frankly, that shouldn't come as a surprise. It's a brand new architecture and AMD simply doesn't have the man power and resources to polish its product to quite the same sheen as Intel. Indeed, when some early benchmark numbers leaked out and looked extremely promising, it was just this scenario that prevented me from getting too excited. Ryzen was looking quick. But would it also be a bit, for want of a better word, buggy?
For AMD's part, in an official statement it very much pointed the finger for perceived gaming performance shortfalls at a lack of optimisation:
“CPU benchmarking deficits to the competition in certain games at 1080p resolution can be attributed to the development and optimization of the game uniquely to Intel platforms – until now. Even without optimizations in place, Ryzen delivers high, smooth frame rates on all “CPU-bound” games, as well as overall smooth frame rates and great experiences in GPU-bound gaming and VR.”
Its immediate response is to seed over 300 Ryzen kits to game developers with a view to supporting a flurry of optimisation work. But I'm not completely comfortable with AMD's attitude as it stands. Aside from the obvious issue of console ports initially developed for AMD CPU cores, my personal experience simply doesn't tally with AMD's statement.
I revisited a few games and while many are indeed subjectively indistinguishable running on Ryzen as opposed to an Intel CPU, that doesn't apply to all. In subjective terms, to give just one example, Total War: Attila running on Ryzen is tangibly choppier than a typical Intel processor. There's no getting away from it.
But why, exactly, might that be given Ryzen's basic performance is competitive to say the least? Currently, there are a number of candidate problems that may eventually be deemed the prime culprit.
They include the specifics of AMD's simultaneous multi-threading technology which, like Intel's HyperThreading, allows a single CPU core to crunch two software threads in parallel. Then there's the basic architecture of Ryzen which consists, essentially, of two quad-core modules. The talk here is of latencies in communication between the two modules.
See those two big rectangular lumps? Those are the dual quad-core modules...
Compatibility issues with the ways Windows 10 schedules software threads and indeed how that relates to both Ryzen's multi-threading and its modular architecture are also in the mix.
For now, however, AMD is dismissing much of that:
“We have investigated reports alleging incorrect thread scheduling on the AMD Ryzen™ processor. Based on our findings, AMD believes that the Windows® 10 thread scheduler is operating properly for “Zen,” and we do not presently believe there is an issue with the scheduler adversely utilizing the logical and physical configurations of the architecture.”
“We have investigated reports of instances where simultaneous multi-threading (SMT) is producing reduced performance in a handful of games. Based on our characterization of game workloads, it is our expectation that gaming applications should generally see a neutral/positive benefit from SMT.”
You can read AMD's view in more detail here. But the overall upshot of all this is that we probably won't know exactly how Ryzen's gaming performance is going to shake out until a good number of game developers have had a crack at optimising their engines.
Until then the same conclusion I drew last time applies. Ryzen is a great chip at a fantastic price. But the one group of PC users for whom Ryzen is probably least immediately compelling are gamers.