ps4-pro-house-interview

Diving into the PlayStation 4 Pro may prove to be a bit tricky because of how little we know about it. We know that certain things are similar to the original PS4, like the software, the overall design, how it operates, but there are also things we don’t know at the moment. Things like, for example, Blu-ray 4K compatibility, or how backwards compatibility will function, or if it’s even capable of rendering games at, or near to, 4K resolutions. Today, we’ll go into some of that in-depth, as well as try to figure out what things might look like in the future.

It can probably play 4K Blu-ray content just fine

As the current chair of the Blu-ray Disk Association (BDA), Sony, and the rest of the BDA board members, have a very long roadmap of planned software and hardware advancements extending past 2020. The fact that the PS4 and PS4 Slim can have a firmware update to support high dynamic range (HDR) imaging tells us that Sony engineers overbuilt the HDMI specification on the PS4 in order to allow it to be updated to support HDMI 2.0 technologies, expecting 4K playback to be among them.

It’s somewhat confusing, then, that they apparently haven’t planned for this capability in any of the PS4 devices.

ultra_hd_blu-ray_logo

It makes no sense marketing the media features of the PS4 family to millions of people who bought it just so they could use it for Netflix and other streaming services, only to render it almost pointless when you upgrade to a 4K television expecting to watch your 4K Blu-ray movies. HDR (high dynamic range) is only a feature on HDMI 2.0a connections as well, so it’s not like this is being hacked in either – Sony’s firmware 4.00 update literally updates the HDMI 1.4a port on the PS4 to HDMI 2.0a, and they planned this from the beginning. However, I don’t think they’re staying quiet on this issue for their own health.

The new Xbox One S has HDR and 4K Blu-ray support, and Microsoft chose not to port any of these features to the original One. I believe that there are two primary reasons for this: that Microsoft wanted to sell more consoles, and that they didn’t ship the console with a 4K Blu-ray compatible drive in the first place. You can see this for yourself in the iFixit teardowns for the Xbox One and the One S. Both ship with Philips-LiteOn drives, but the One S uses the DG-6M5S model, while the original One uses DG-6M1S.

For most consumers the only way anyone can play 4K Blu-ray discs today is to purchase one, as upgrading firmware for older drives generally isn’t allowed by the manufacturer (a distinction which is important in the PS4 family’s case). Current BR drives are able to read discs with over 100GB of data as per the official specification, but they don’t have the correct decoders, the proper licenses for HDCP 2.2 or Cinavia, or the decryption keys to play back content properly.

ps4-blu-ray-drive-bd-010

Sony typically designs their console drives from scratch to save on space and cost, and sources the various components separately to make up the drive. Some of this work goes into their standalone consumer products as well. There are even different revisions for each PS4 version that was made while the PS4 was in early production or already shipping – BDP-010 with the launch console, BDP-015 for the same console in regions getting it later with a drive mechanism change to reduce vibrations, BDP-020 for the white PS4, and BDP-025 which comes inside the revised PS4 with the physical buttons. PS4 Slim will come with yet another revision again, but I’ll bet the design stays largely the same.

Here’s what I think is probably happening behind closed doors: Sony is attempting, for the first time, to pull through with a firmware update solution that turns those drives into 4K Blu-ray drives, and to certify new firmware on the drives in existing and shipping PS4 consoles by the BDA and Verace (who controls Cinavia). This kind of thing doesn’t typically happen in the optical drive market because selling a new drive is more preferable to trying to keep an old one up to date. The constraints put on the engineering teams at these firms are all the more frustrating because of DRM policies, which adds to the amount of work needed to allow other companies to support new features like HDR and lossless audio.

Why aren’t they talking about this in more detail? Why didn’t they come out with it beforehand? Because there’s still a chance that they’ll actually pull this off, and no-one wants to jinx the rare chance they have to drive adoption of a format again. Instead of having a very, very small install base of consumers who can view 4K content, with the appropriate update there’ll suddenly be over 40 million people who only need a 4K HDR TV to enjoy the new format. Forbes might crow that the Xbox One S is going to rule the 4K Blu-ray market, but the reality is that the One S is small fry compared to the rest of the market, and it barely has any traction.

Forwards compatibility is way more tricky than you might suspect

ps4-games-2016

Sony touts the ability for the PS4 Pro to play PS4 games as something that required “immense” engineering efforts, but I think they’re seriously selling themselves short on this. In the current software landscape, the big three console manufacturers are all looking at how to make virtualisation and emulation work consistently to preserve old IP and classic games. The back catalog that these companies have on hand is a gold mine that costs very little to exploit, and there’s a growing sense of responsibility to preserve old games that were genre-defining. Future generations might be studying Half-Life‘s impact on games as a storytelling medium, or Goldeneye 007 as the spark that set off the multi-path first-person shooter level design genre that eventually inspired Crysis.

Multiple hundred-ish page books could actually be written on how Goldeneye has affected almost every single game ever made since its launch.

Nintendo sticks to PowerPC and ARM processors, and has to emulate certain GPU commands on newer hardware to run things properly, to make the process easier for themselves. Microsoft created an entirely new virtual machine technology (part of which has now been added back into Hyper-V) to translate PowerPC code to x86 on the fly, emulating Apple’s move made in the same direction in 2005 from PowerPC to Intel x86, but with no significant performance loss.

Sony, meanwhile, has done things very differently. While it does emulate the PS1 and PS2 environments, all of the available Classics had to have some code changed to work inside the virtual environment, and they still haven’t figured out how to emulate Cell just yet. That’s why the rollout of PS Now is so slow, and why Sony’s hand was forced in setting it up – they didn’t have a working Cell emulation technique just yet, and using PS3 consoles placed in developer mode provided the quickest out for them. PS4 Pro adds to the confusion, and required Sony’s Mark Cerny to figure out a standardised way to address performance differences between the PS4 and the PS4 Pro.

In a submission to the United States Patent Office on 20 February 2015, US20160246323A1, Cerny and his colleague David Simpson filed a patent that detailed how the PS4 Pro runs games from the older console somewhat natively. In a nutshell, Sony’s tests determined that even running the PS4 Pro at the same clock speed as the PS4 wasn’t going to be feasible because of slight architectural changes, improved production processes, and different transistor behaviour. They decided to invent something called a spoof clock, which is a software-based clock generator for a virtual machine instance, which in this case is the PS4 game with PS4 Pro compatibility. Take a look:

“To give an example, the GPU of the prior version of the system might run at a GPU clock of 500 MHz, and the current system might run at a GPU clock [156] of 750 MHz. The system would run with [156] set to 750 MHz when an application is loaded that is designed only for the current system. In this example, the cycle counter [CC] would correspond to the 750 MHz frequency (i.e., it is a true cycle counter). When a legacy application (i.e., an application designed for the prior version of the system) is loaded, the system [100] may run at a frequency slightly higher than the operating frequency of the prior system (e.g., with [156] set to 505 MHz). In this backward compatible mode, the GPU spoof clock [135] would be configured to run at 500 MHz, and the cycle counter CC would be derived from the spoof clock, thus providing the expected value to the legacy application.”

What Sony is doing with PS4 games on the PS4 Pro is very different from throttling an emulation to use less CPU and GPU time. They’re managing performance using a spoof clock that emulates the conditions the old system would be going through, and they’re also managing latency in the same manner (because some production processes may result in transistors switching faster on a better node). This is somewhat easier for them to achieve because the CPU architectures between the PS4 and PS4 Pro are identical, save for silicon differences and clock speed improvements.

sony-ps-family

On the desktop PC there are some games from the late 90’s and early 2000’s that run at full speed on specific processors from that era. Running something like Half-Life on a dual-core processor today results in glitches, significantly warped time and running speed and occasional crashes because the application expects, and sometimes relies on, a single-core system running at much lower clock speeds. Older systems from that era would get data fed in from storage and connected peripherals at the same rate as the system bus, and the PS/2 mouse and keyboard interrupted the CPU to relay input, rather than being polled at a set interval. In addition, the modern Windows scheduler thinks it always knows best, and tries to swap threads around on the CPU when it feels like it to manage power draw.

Emulating old systems even with similar architectures has been a tough nut to crack, especially with processors that now have performance states that change clock speeds in milliseconds.

What’s not covered in patent application US20160246323A1 is mention of how Sony is also gating the GPU performance using this same method. Even if you have two GPUs running at 800MHz and one has twice the execution units of the other, you’re still going to see a performance boost on the larger GPU. Stepping down into one of the end notes for the application, claim #19 and #20 sort of hints at how Sony is doing this, but it can’t just be downclocking the GPU to more or less meet the same throughput characteristics. The only way I can see this happening is through the GPU emulating a weaker version of itself – running the RX 480-like GPU as if it was a PS4 GPU. This would require that the virtual machine is only allowed to address the same number of dedicated shader, texture, and ROP units as the older console, which is a much more complex task than simply underclocking it to make the comparison sort of similar.

I cannot fathom how difficult this must be. Getting that kind of fine-grained emulation on the fly, with a per-application profile, only happens in simulations at the architecture level, when AMD, Intel, or NVIDIA use ridiculously expensive software to emulate a new architecture to see how it might function. Literally nothing like this exists on the desktop PC, and the only way we can get something similar is loading a GPU BIOS from another graphics card in the same chip family to emulate its weaker performance.

Yes, the PS4 Pro can do “4K rendering”

I’m surprised that this is still an argument people have over the internet. To summarise, what most people think about the capabilities of the PS4 Pro is completely untrue. Its shelf price is not an indicator of its abilities, and it’s been designed to be efficient and capable of meeting some future needs. Internally, it’s a bit like a dual-socket AMD Jaguar system with an underclocked Radeon RX 480 GPU embedded for graphics, but it is closer to the Vega architecture than it is to Polaris. If it had a cousin on the desktop that you could buy today, that would be the Radeon RX 470, and performance is probably about the same between them.

Now, keep in mind that consoles are closed systems. No antivirus scanners are required. The browser doesn’t stay running in the background serving you mail notifications. Various parts of the OS are sandboxed with their own services that only start when the app is launched, and you can drive your code right down to the bare metal to extract as much performance as possible from it. I know you’ve heard this before from other sources, but it bears repeating still – running a game on a console and the same game on PC is a completely different task. In some cases, the console experience may even be better thanks to more fine-grained control, while the PC has software that competes for resources at every turn.

If Sony, or its partners, want to run a game at 4K, they can do it. They could do it on the PS4, and they can do it on the Pro. The only limitation here is the scope of the project, as well as how much they’re trying to do at any one point. Journey could be a 4K 60Hz experience, while Grand Theft Auto V is best left on whatever setting gives you a constant 30fps.

The GPU has enough memory and memory bandwidth, there are enough texture units and ROPs to address a 4K image and high-resolution textures, and it’s possible to run a game at 4K 60fps using some advanced rendering and culling tricks to improve performance. For example, Activision claims that Call of Duty: Infinite Warfare is going to run at 60fps on the PS4 Pro when using a 4K display. but moving from 1080p to 4K requires a theoretical jump of 4x GPU performance. Granted, we’re actively reducing image quality and using tricks like foveated or tiled rendering, or resolution scaling to make it happen, but past a certain point you might struggle to discern a properly scaled 2.5K or 3.5K image on a 4K display. Whether it looks good or not is up in the air, but the PS4 Pro is well capable of it.

radeon-rx-460-fps-scores-4k

To further illustrate my point, here’s a bunch of games benchmarked by TechpowerUp, currently shipping for the desktop PC that also have a PS4 release. They all include scores for the Radeon R7 370 (the PS4 equivalent GPU), as well as the RX 470, which is pretty close to the kind of performance jump Sony has in store for PS4 Pro owners. In most games, the RX 470 is twice as powerful as the R7 370, even in Assassin’s Creed Syndicate, a GPU-limited game known for having horrible optimisation on the desktop.

But take note of how close some games are to a 4K 30fps experience. Fallout 4, GTA V, Hitman, and Just Cause 3 are all examples of games that could reach that point without too much sacrifice. Take note, too, how much performance is gained when you drop one notch lower on the resolution scale. These AAA titles all become much more playable with a drop in resolution, while keeping the rest of the settings at their maximum fidelity. This is what the experience on a PS4 Pro is largely going to be – using a 2K or 3.5K image scaled up to 4K to improve performance, but with additional visual improvements and smoother frame delivery to make the experience better. And bear in mind that the RX 470 is a $180 graphics card, while the PS4 Pro will be $399 fairly soon.

It’s a good deal either way, 4K Blu-ray or not. It may turn out that Microsoft over-emphasised on performance improvements for Project Scorpio, and that they’re able to mostly match what the PS4 Pro was capable of a year prior, and if we had to look at things in this light, I think we’re all downplaying the technical achievement here. If we’re able to approach 4K 30fps experiences on a desktop PC, with the mess that is the OS and unnecessary background services and somewhat-optimised drivers, then surely, surely the PS4 Pro is capable of at least that.

The circlejerk that’s going on in Reddit, NeoGAF, and 4Chan has a lot of people stating that “4.1TF cannot do true 4K”, and this is simply untrue. The PS2 was capable of 1080i output through special adapters (tested by Polyphony Digital when working on Gran Turismo 4), and could do 1080i 60fps at a time when 480p televisions were dominating sales still.

We’re barely scratching what the PS4 Pro can do, honestly, and why exactly people want it to look like such a bad product is a mystery to me. If you’re buying a PS4 this year, I can hardly imagine any scenario where the PS4 Pro is a poor choice.