Inside the next Xbox: Project Scorpio tech revealed
Digital Foundry has the specs, has seen it running, and has talked to the people who built it.
Last week, Digital Foundry was invited to Microsoft's Redmond campus for an exclusive preview of the technology in the next Xbox, codenamed Project Scorpio. As specs reveals go, this one is unprecedented: it's a first in terms of early access to key system architects, and one of a kind in terms of timing. Scorpio is seemingly running ahead of schedule, to the point where we're likely six months away from release at least, and we've already seen impressive software running beautifully on production silicon.
There'll be all the specs you'll need in this piece, but the reason Microsoft flew us out to talk to those involved was straightforward: the numbers, as impressive as they are, don't fully represent what the final product aims to deliver. Nor can the number of compute units and teraflops represent the passion the Xbox team has injected into this project. Microsoft has a point to prove. It's not just about performance, it's about pushing the quality of console design to a new level - in all areas.
The headlines? Combining smart design with sheer horsepower, Project Scorpio hits the six-teraflop target set for it as E3 last year, thanks to a custom GPU that has been designed from the ground up for optimal performance on today's game engines - and that runs at an unprecedentedly high clock speed for a console. The GPU is paired with 12GB of fast GDDR5 memory and a custom eight-core CPU, and the whole thing is housed in a compact body with integrated power supply and, for a console, state-of-the-art cooling.
Performance is remarkable. We saw a Forza Motorsport demo running on the machine at native 4K and Xbox One equivalent settings, and it hit 60 frames per second with a substantial performance overhead - suggesting Scorpio will hit its native 4K target across a range of content, with power to spare to spend on other visual improvements. And while 4K is the target, Microsoft is paying attention to 1080p users, promising that all modes will be available to them.
The push for 4K and the Scorpio Engine
In Redmond, the pitch comes thick and fast before the tech deep dive kicks off. The overall outline of Project Scorpio has evolved since Phil Spencer presented it at last year's E3, and in some key respects it sounds familiar to the PlayStation 4 Pro's proposition - a point not lost on Microsoft. 4K ultra HD visuals to suit the new generation of televisions are clearly the target, but Microsoft's solution means substantial spec upgrades over the Pro design in virtually all areas. That said, Sony's philosophy of 'smart' GPU design is also in effect here, executed in a very different manner, and backed up with a lot more horsepower.
"To me, [4K] means a very specific set of things. It's a lot more than delivering those eight-million-plus pixels to the screen while playing games," says Kevin Gammill, Group Program Director of the Xbox Core platform. "It's about delivering those pixels with 4K assets, so they look great. It's about delivering those pixels with HDR and wide colour gamut fidelity. It's about delivering those pixels with no loss of frame-rate compared to the 1080p version of that title - that's super-important to us. Spatial audio adds to the immersive experience as well: to truly land that gameplay experience, it's not just about what you see, but what you hear."
Core to the new console is the Scorpio Engine, the new SoC (system on chip) developed once again in conjunction with AMD. In common with many aspects of the box, engineering the new processor was based on a revolutionary workflow - one that could only really be achieved on a mid-generation refresh design.
|Project Scorpio||Xbox One||PS4 Pro|
|CPU||Eight custom x86 cores clocked at 2.3GHz||Eight custom Jaguar cores clocked at 1.75GHz||Eight Jaguar cores clocked at 2.1GHz|
|GPU||40 customised compute units at 1172MHz||12 GCN compute units at 853MHz (Xbox One S: 914MHz)||36 improved GCN compute units at 911MHz|
|Memory||12GB GDDR5||8GB DDR3/32MB ESRAM||8GB GDDR5|
|Memory Bandwidth||326GB/s||DDR3: 68GB/s, ESRAM at max 204GB/s (Xbox One S: 219GB/s)||218GB/s|
|Hard Drive||1TB 2.5-inch||500GB/1TB/2TB 2.5-inch||1TB 2.5-inch|
|Optical Drive||4K UHD Blu-ray||Blu-ray (Xbox One S: 4K UHD)||Blu-ray|
"As we landed on 4K, Andrew [Goossen] and team did a pretty deep analysis," Gammill continues. "We have this developer tool called PIX [Performance Investigator for Xbox]. It lets us do some GPU trace capture. He and his team did a really deep analysis across a breadth of titles with the goal that any 900p or better title would be able to easily run at frame-rate at 4K on Scorpio. That was our big stake in the ground, and so with that we began our work speccing out what the Scorpio Engine is. It's not a process of calling up AMD and saying I'll take this part, this part and this part. A lot of really specific custom work went into this."
Traditionally, games creators have to work to the characteristics of the console platform, but because Scorpio's design brief was to scale up existing titles to 4K, the hardware team could profile actual, shipping games and customise the design to fit common characteristics. PIX provided the data that was then fed into a hardware emulator, where the Microsoft team could then see how those titles would run on prospective Scorpio hardware. Multiple configurations could be tested in order to get the best balance.
"What we did was to take PIX captures from all of our top developers... By hand we went through them and then extrapolated what the work involved would be for that game to support a 4K render resolution," says Andrew Goossen, Technical Fellow, Graphics. "Now we had a model for all of our top-selling Xbox One games where we could tweak the configuration for the number of CUs, the clock, the memory bandwidth, the number of render back-ends, the number of shader engines, the cache size. We could tweak our design and figure out what was the most optimal configuration. It was incredibly valuable for us to be able to make those trade-offs, because ultimately these Xbox One titles are the ones that we... wanted to get up to 4K."
Remarkably, all of this happened years ago, before any hardware was fabricated. The knowledge gained from profiling Xbox One titles also allowed for more intricate customisations to the AMD hardware.
"We also leveraged the fact that we understand the AMD architecture really, really well now and how well it does on our games," continues Goossen, "so we were able to go through and examine a lot of the internal queues and buffers and caches and FIFOs that make up this very deep pipeline that, if you can find the right areas that are causing bottlenecks, for very small area [on the processor] we could increase those sizes and get effective wins."
The end result is 40 Radeon compute units in the custom Scorpio Engine, ramped up to a remarkable 1172MHz - a huge increase over Xbox One's 853MHz, and indeed PS4 Pro's 911MHz. We got a fair amount right or close to the mark in our original Project Scorpio spec analysis, but we were way off the mark in terms of prospective GPU clocks. How Microsoft managed to achieve this speaks to the quality of the engineering elsewhere in the box, but the fact is that Scorpio's GPU is only 94MHz off the maximum boost clock of AMD's Polaris-based RX 480 graphics card, which only has 36 compute units - and requires a meaty custom cooler to sustain its max boost clock.
"Those are the big ticket items, but there's a lot of other configuration that we had to do as well," says Goossen, pointing to a layout of the Scorpio Engine processor. "As you can see, we doubled the amount of shader engines. That has the effect of improvement of boosting our triangle and vertex rate by 2.7x when you include the clock boost as well. We doubled the number of render back-ends, which has the effect of increasing our fill-rate by 2.7x. We quadrupled the GPU L2 cache size, again for targeting the 4K performance."
Unlocking the power: memory, CPU and audio
The maths work out: Microsoft has indeed delivered on its 6.0-teraflop performance target for the GPU, but a significant bump to other areas of the console's architecture is required in order to maximise the effectiveness of the hardware. As we've noted in our graphics card reviews, GPUs require lots of bandwidth to really push ultra HD pixel counts.
"For 4K assets, textures get larger and render targets get larger as well. This means a couple of things - you need more space, you need more bandwidth. The question, though, was how much?" asks Nick Baker, Distinguished Engineer, Silicon. "We'd hate to build this GPU and then end up having to be memory-starved. So all the analysis that Andrew was talking about, we were able to look at the effect of different memory bandwidths, and it quickly led us to needing more than 300GB/s memory bandwidth. So in the end we ended up choosing 326GB/s. On Scorpio we are using a 384-bit GDDR5 interface - that is 12 channels. Each channel is 32 bits."
Scorpio runs its GDDR5 modules across a 384-bit GDDR5 interface ("So you were right!" laughs Goossen) that uses 12 32-bit channels. The modules themselves run at 6.8GHz, offering a final bandwidth figure of 326GB/s - on top of which, Microsoft gets the benefit of AMD's delta colour compression (DCC) system, an element that wasn't present on Xbox One. And yes, Scorpio does indeed feature 12GB of memory, as indicated on Microsoft's E3 motherboard render, 8GB of which is available to developers, with 4GB reserved for the system. That's an additional 1GB of reservation compared to Xbox One, required in order to run the dashboard at native 4K. Titles still receive an impressive 60 per cent bump to overall memory though, and to ensure loading times consistent with full HD Xbox One games, Scorpio ships with a 1TB hard drive with a 50 per cent increase in bandwidth.
For the record, ESRAM is indeed surplus to requirements in the Scorpio design, as we revealed a couple of months back. "The memory system we've got, we've got enough bandwidth to more than cover what we got from ESRAM," explains Nick Baker. "We simply go and use our virtual memory system to map the 32MB of physical address that the old games thought they got into 32MB in the GDDR5. So latency is higher, but in terms of aggregate performance, the improved bandwidth and improved GPU performance means we don't hit any issues."
On the CPU side, there's been much conjecture that Scorpio would feature AMD's new Ryzen technology - something we thought unlikely, owing to manufacturing timelines, not to mention Microsoft telling us last year that the new console would feature eight CPU cores. All signs point to the upclocked Jaguar cores we find in Xbox One, and Scorpio's CPU set-up is indeed an evolution of that tech, but subject to extensive customisation and the offloading of key tasks to dedicated hardware.
"So, eight cores, organised as two clusters with a total of 4MB of L2 cache. These are unique customised CPUs for Scorpio running at 2.3GHz. Alluding back to the goals, we wanted to maintain 100 per cent backwards compatibility with Xbox One and Xbox One S while also pushing the performance envelope," says Nick Baker.
The new x86 cores in Scorpio are 31 per cent faster than Xbox One's, with extensive customisation to reduce latency in order to keep the processor occupied more fully, while CPU/GPU coherency also gets a performance uplift. There's significant hardware offloading too - some of which is inherited from Xbox One, some of which is radically new. The audio processor in Xbox One is fully transplanted across to Scorpio and gains new functionality - spatial surround, effectively adding a 'height' component to the existing 7.1 set-up. Scorpio is set to receive support for Dolby Atmos for gaming, Dolby Atmos for headphones plus a Microsoft proprietary format called HRTF, developed by the Hololens team. Because the APB (audio processor block) hardware is basically identical to that found in Xbox One, it means that all existing iterations of the console will get the spatial surround upgrade.
However, potentially the most exciting aspect surrounding the CPU revamp doesn't actually relate to the processor blocks at all, but rather to the GPU command processor - the piece of hardware that receives instructions from the CPU, piping them through to the graphics core.
"We essentially moved Direct3D 12," says Goossen. "We built that into the command processor of the GPU and what that means is that, for all the high frequency API invocations that the games do, they'll all natively implemented in the logic of the command processor - and what this means is that our communication from the game to the GPU is super-efficient."
Processing draw calls - effectively telling the graphics hardware what to draw - is one of the most important tasks the CPU carries out. It can suck up a lot of processor resources, a pipeline that traditionally takes thousands - perhaps hundreds of thousands - of CPU instructions. With Scorpio's hardware offload, any draw call can be executed with just 11 instructions, and just nine for a state change.
"It's a massive win for us and for the developers who've adopted D3D12 on Xbox, they've told us they've been able to cut their CPU rendering overhead by half, which is pretty amazing because now the driver portion of that is such a tiny fraction," adds Goossen.
[UPDATE 7/4/17 20:44: Microsoft's Andrew Goossen has been in touch to clarify that D3D12 support at the hardware level is actually a part of the existing Xbox One and Xbox One S too. "Scorpio builds on the Command Processor capability present in the original Xbox One," we're told. "Our implementation of D3D12 supports all Xbox Ones, and games have already shipped that use it. When a game using D3D12 starts up, we reprogram the GPU's Command Processor front-end. The 50 per cent CPU rendering overhead improvement was reported by shipping games. The amount of win is dependent on the game engine and content, and not all games will see that size of improvement. Scorpio's Command Processor provides additional capability and programmability beyond what Xbox One/Xbox One S can do. We plan to take advantage of this in the future."]
To be clear, then: Project Scorpio doesn't feature Ryzen cores, but the Xbox team are not so concerned about this. "On the CPU side of things, we could still meet our design goals with the custom changes we made," Kevin Gammill points out. "At the end of the day we are still a consumer product. We want to hit the price-points where consumers want to purchase this. It's about balancing the two."
The Scorpio Engine processor measures 360mm2 and features seven billion transistors. We got to see the chip plan, with the four shader engines occupying the majority of the die, skewed towards the left of the layout. Each SE actually has 11 compute units, with one disabled per block to increase chip yield on the production line. To the right of the GPU sit the two clusters of custom CPU cores, while the memory interfaces skirt the edges of the chip.
Also integrated is the latest AMD media block, meaning that the Xbox GameDVR gets an upgrade to 4K60 using the next-gen HEVC codec - you can even capture your content in full HDR. What Microsoft calls retroactive screen capture is also introduced, meaning you can move through your captures frame-by-frame to take out the best shot, without having to press the screenshot button at exactly the right time.
"On the display output, of course, HDMI 2.0 - we need that for the additional frame-rate for 4K and also HDR and the wide colour gamut," says Nick Baker. "In addition, we have always believed in having flexible output processing with three output planes so you can have your render target, your overlay dash and video playing. Each one of those has symmetric capabilities in terms of being able to run sampling, so we have a high quality multi-tap filter. As an example, if you render at 4K and you're going to a 1080p TV, you can use that to do a high quality sample."
Downsampling to 1080p is an important point. Regular Digital Foundry readers will know that we've been vocal about all PS4 Pro modes being available to all users, regardless of the display attached to the console. Performance modes should be accessible to 4K users, while ultra HD rendering should super-sample down for those 1080p displays. Microsoft takes care of this at the platform level, and it requires that all titles should run at the same frame-rate or higher as the standard Xbox One. [UPDATE: Microsoft has clarified that 1080p supersampling is handled at the system level with higher resolution rendering modes as opposed to imposing this on the developer - we've adjusted the text to reflect this.]
Building Scorpio: form factor and cooling
But it's the GPU clock-speed that really stands out in Project Scorpio, the aspect that defies current thinking on console design. Current-gen hardware has traditionally featured conservative frequencies in order to sustain yield and to minimise heat in a constrained form-factor. How Microsoft has achieved this is remarkable.
"So really, between trying to target a compact design, and also strike overall efficiency and minimise power use, we do a lot of things that are special," says Leo Del Castillo, general manager of Xbox hardware design. "One of the things we do is we basically fine tune the voltages for each of the chips and optimise them so the chips are getting exactly what they need to get the job done... That drives a much higher degree of efficiency into the system and allows us to get rid of a lot of wasted power that would otherwise come out as heat."
It's a technique that Microsoft calls the 'Hovis method', named after the engineer who developed it. Every single Scorpio Engine processor that comes off TSMC's production line will have its own specific power profile. Rather than adopt a sub-optimal one-size-fits-all strategy, Microsoft tailors the board to match the chip. Regardless, Scorpio is still a powerful piece of technology, so there is still the issue of dissipating its heat. Here again, the solution is revolutionary for a console.
To cut a long story short, Microsoft is using a vapour chamber heat sink. It consists of a copper vessel that forms its basis, inside of which is deionised water under vacuum. Heat is absorbed into the water, where it vapourises. The steam convects away from the hot spots and condenses on the heat sink fins. It's highly efficient - but the heat still needs to be expelled from the system and the standard axial fans used on prior Xbox hardware wouldn't cut the mustard.
"We went to a custom designed adapted centrifugal fan for this design," Del Castillo continues. "It kind of looks like a supercharger on a car, it looks like an intercooler almost. Every part about this is custom designed for the application."
During his presentation, Del Castillo literally constructed a pre-production Project Scorpio unit in front of us. Bearing in mind the advanced manufacturing techniques on show here, there's a very simple, elegant, modular design that makes the most of the space. We saw the hard drive fit into place on dampeners designed to absorb vibration, reducing error rates in and ensuring optimal data throughput. Then there's the UHD Blu-ray drive - pretty much the same unit we saw in Xbox One S, with minor mods to fit the Scorpio chassis.
It was also heartening to see that Microsoft has retained an internal power supply: in this case, a 245W universal voltage PSU that Del Castillo reckons is the most efficient in Xbox history. On the rear of the unit, the arrangement of ports is identical to Xbox One S, including the standard figure-eight power socket (as opposed to the much larger 'kettle' cable arrangement used on PS4 Pro). The thinking here is that those who've plumbed their Xbox One S into their AV set-up can swap over to Scorpio with next to no effort. Since port arrangement is based on Xbox One S, there's no return for the original Xbox One's Kinect port (a USB adapter is required) but the HDMI input is retained. The final form factor - the 'ID' as Microsoft calls it - will be revealed at E3, where we suspect you will be pleasantly surprised.
Forza on Scorpio: 4K60 with power to spare
But the proof of the pudding is in the eating. Specs are one thing, but Microsoft is promising that both 900p and 1080p Xbox One games should be able to run at native 4K on Project Scorpio. We needed to see validation of this, meaning we needed to see software - a tough call so many months out from release.
Regardless, Microsoft duly obliged, showing us a ForzaTech demonstration with the Xbox One engine operating at native 4K, at a locked 60fps. As you can see in the screenshot above, GPU utilisation is remarkably low at just 60-70 per cent (you can grab a full 4K PNG version of the above shot here) - but we should stress that this is basically an Xbox One port, not representative of the full quality we'll see in final software.
"This is us. This is ForzaTech running 60 frames a second, 4K," says Turn 10 Studio Software Architect, Chris Tector. "We're still running with settings that we would have used in Forza 6... but this is also including 4K content... we've got authored assets for this set of the models, cars, tracks everything. We pushed it through and made sure the 4K textures were flowing through. We've got them all there at the right resolutions and they're not giving us enough of a bandwidth hit to offset that. If we drop back to when we originally ran and we didn't have 4K assets, it was maybe one per cent different. We were very much bound on a different point than memory bandwidth. It's been awesome and this is the point it's at."
The demo stacks up the maximum amount of cars and runs the full AI and physics simulations. It's a highly taxing stress test, used to enforce the strict budgets in Forza Motorsport to ensure the locked 60fps the series is famous for. The ForzaTech port to Scorpio took two days to complete and was fully performant from day one. In fact, the team can push ForzaTech to the equivalent of PC's ultra-level settings and we're still sitting at 88 per cent GPU utilisation; in terms of system utilisation, this is ballpark with Xbox One at 1080p on its default settings. Clearly this is just one game, but the point is that Scorpio doesn't just scale Xbox One engines to 4K. For the Forza engine at least, there's overhead, and plenty of it.
"The awesome part about the whole story [is] that we can spend all this time heading into the future," enthuses Tector. "Instead of saying, 'How are we going to wrestle to get the performance on this?' we're actually saying we can make this quality trade-off or this quality trade-off and spend that time iterating, heading towards much better image quality. So instead of stressing about getting to a final resolution or a final frame-rate, we can really drive it all into quality."
Of course, if you're going to show off a game on a new Xbox, choosing one of the most visually accomplished, well-optimised first-party engines we've ever tested is the way to go, but Microsoft is insistent that the results and scalability Turn 10 demoed to us is "not atypical". The fact that the studio got great results from Scorpio hardware so early perhaps also explains why Microsoft is ready to unveil the hardware to the users so far ahead of release. With everyone we met there's a genuine, infectious excitement and confidence about the new box. And the fact that the platform holder is willing to share so much so early also suggests that E3 2017 is going to be one to remember.
This article aims to bring you the key Project Scorpio information, but we have learned much, much more about the hardware that we'll share with you as soon as possible. Microsoft invited Digital Foundry to visit the Xbox team at its Redmond HQ, paying for travel and accommodation.