Inside the Scorpio Engine: the processor architecture deep dive
Editor's note: This one is for the hardcore. We've already covered Project Scorpio's hardware specs in broader detail, and posted critical analysis of everything we've seen so far, but for those of you hungry for more detail, who want to know absolutely everything shared with us, this is the place to be. We'll be running a similar deep dive on the construction of the retail console tomorrow.
CPU Optimizations
"Typically for CPU, the top two items are frequency and memory latency. If the CPU has data, the faster it can process it, the quicker the result, but it also means that if it doesn't have the data, it sits there idle, so latency is a big component. On frequency, we pushed it up to 2.3GHz" explains Nick Baker "On the latency, a couple of the areas we tackled, one was all the queues coming back from the memory interface, we sped those up as well. Specifically, within the core, because we're running a virtualised OS environment, we wanted to optimise how memory translation operations happen so there are some key changes inside the core to speed those things up. The end result is that not only does the CPU run faster, it also runs more efficiently meaning more power for you at the end."
GPU Optimizations
According to Goossen, some performance optimisations from the upcoming AMD Vega architecture factor into the Scorpio Engine's design, but other features that made it into PS4 Pro - for example, double-rate FP16 processing - do not. However, customisation was extensive elsewhere. Microsoft's GPU command processor implementation of DX12 has provided big wins for Xbox One developers, and it's set for expansion in Scorpio.
"We did multiple PIX captures from every single game and ran them on the emulator," Andrew Goossen, Technical Fellow, Graphics, tells us - a process that proved invaluable for validating Scorpio's back-compat capabilities. "We did over 30,000 emulator runs, which is a big contributor to Nick's total cycle count because we had to make sure that we were going to land with that 100 per cent compatibility [with Xbox One]."
But to what extent do those customisations elevate Scorpio beyond a PC equipped with a notional, baseline Radeon equivalent to Scorpio's GPU - no customisation but 'the same teraflops'. After the presentation, that's exactly what I asked Microsoft in the first of a couple of follow-up rounds of questions conducted over email.
"Our performance analysis and modelling was so core to the entire design process of optimisation and adjustments that I don't have a specific example to call out," says Andrew Goossen. "We put every change we considered through the model. But in terms of 'more from your teraflops', I will point out that Scorpio has significant performance benefits relative to PC:
"Microsoft has made continual improvements to the shader compiler. We see significant performance wins for Xbox game content relative to compiling the same shaders on PC. [Secondly], 'to the metal' API and shader extension support allows developer to optimise in ways that simply can't be done on PC cards. [Finally], PIX provides low level analysis and insight that, in conjunction with 'to the metal' support, allows developers to make the most of the console GPU. These technologies are all already mature and familiar to developers, so Scorpio games will benefit from the get go."
900p to 4k Native
The design aims for the Project Scorpio can be distilled down into two very specific goals - both 900p and 1080p Xbox One titles need to scale up to native 4K. It's actually a significant extension of what Microsoft promised last year at E3, which specifically addressed running 1080p Xbox One titles at ultra HD. The scope is wider now - by targeting 900p Xbox One titles too, the implication is that the same kind of scalability is on the cards for PS4 1080p games as well.
"We wanted [native 1080p Xbox One games] to run at full native 4K with a rock-solid frame-rate with a whole bunch of performance left over to showcase and actually improve the visual experience in many other ways beyond render resolution," Andrew Goossen tells us. "And then our other goal was that we wanted to get 900p games up to full native 4K. That's a little bit harder. Some of 900p games - day one port - they should be running fine, solid at 2160p. For other games it's going to be more work than you'll traditionally do in terms of console optimisation but we wanted to get those 900p games at 2160p."
Those are the calculations the Xbox team made in formulating the design, but developers are free to use the power of the processor as they see fit.
http://www.eurogamer.net/articles/digit ... e-in-depth