UPDATE #2: Sony has issued a statement:
We would like to clear up a misunderstanding regarding our "direct" and "flexible" memory systems. The article states that "flexible" memory is borrowed from the OS, and must be returned when requested - that's not actually the case.
The actual true distinction is that:
- "Direct Memory" is memory allocated under the traditional video game model, so the game controls all aspects of its allocation
- "Flexible Memory" is memory managed by the PS4 OS on the game's behalf, and allows games to use some very nice FreeBSD virtual memory functionality. However this memory is 100 per cent the game's memory, and is never used by the OS, and as it is the game's memory it should be easy for every developer to use it.
We have no comment to make on the amount of memory reserved by the system or what it is used for.
Based on this information, plus the new source coming forward to explain the properties of flexible memory, our take on this right now is that there is 4.5GB of conventional RAM available to developers, along with the OS-controlled flexible memory Sony describes, in addition to that.
We understand that this is a 1GB virtual address space, split into two areas - 512MB of on-chip RAM is used (the physical area) and another 512MB is "paged", perhaps like a Windows swap file. But to be clear, of the 8GB of GDDR5 on PS4, our contention is that 5GB of it is available to developers.
The good news is that the amount is static and not dictated by OS functions as we stated in our original post, making it a lot easier for developers to work with.
UPDATE: A new source familiar with the matter has provided additional information to Digital Foundry that confirms only 4.5GB of the PS4's 8GB GDDR5 memory pool is guaranteed to game developers right now, while also clarifying how the PS4's "flexible memory" works in practice.
In real terms, an additional 512MB of physical RAM may be available in addition to the 4.5GB mentioned in the SDK. Flexible memory consists of physical and virtual spaces, and the latter introduces paging issues which impact performance. In our original story we combined them together.
For practical game applications, the correct figures for this story, as we understand it now, are a guaranteed 4.5GB for development and a further 512MB from the flexible pool. We have updated the headline accordingly.
Original story: PlayStation 4 reserves 3.5GB of its 8GB GDDR5 memory for the operating system, leaving 4.5GB of space for game code, according to current PlayStation 4 documentation shown to Digital Foundry by a well-placed development source. However, further sources suggest that an additional 1GB of "flexible memory" may be reclaimed from the OS reservation, based on availability.
Sony's internal docs say that 4.5GB is the baseline amount of guaranteed memory available for game-makers (note the memory usage of the Killzone: Shadow Fall demo) and most likely what the lion's share of launch titles will be using. However, other sources close to Sony indicate that developers can request up to an additional gigabyte of "flexible memory", and use it to boost elements of the game - but only if the background OS can spare it. We're told that incorporating this isn't trivial, and it may well be that to begin with only first-party developers target its usage.
Current PlayStation 4 dev kits have a "Game Memory Budget Mode" in the debug settings featuring two options: normal and large. The normal mode setting confirms that 4.5GB of memory is usable for game applications. The large mode increases this considerably to 5.25GB, but the docs are clear that the extra RAM here is only available for application development, presumably in order to house debugging data. From what we understand, the extra gig of flexible memory appears to work in addition to these allowances.
The news that the PS4's OS reservation is in the same ballpark as Xbox One's equivalent 3GB allocation is sure to surprise many, especially bearing in mind that previously leaked Sony docs have only spoken of a 512MB allocation for the system software - though this information hails from the era where the new PlayStation was slated to ship with only 4GB of memory.
"Current Sony SDK docs say that 4.5GB is the baseline amount of guaranteed memory available for game makers - and most likely what the lion's share of launch titles will be using."
There are many parallels with the Xbox One. Both consoles allocate two Jaguar CPU cores to the operating system, and what sounds like a disproportionately higher level of RAM than one might expect - especially in comparison to PC, where Windows operates perfectly well with less than a gig of memory at its disposal. However, in a world where even the Wii U reserves 50 per cent of its onboard RAM for the operating system, the big bump in PS4's OS allocation is perhaps not completely surprising. The console's leap from 4GB to 8GB has seemingly opened the door for Sony to be much more ambitious about what tasks the PlayStation 4 performs in the background and in parallel with gameplay.
Microsoft has already showcased Xbox One's abilities in this regard, but our sources say that PlayStation 4 is also capable of similar feats, perhaps in a manner more closely resembling that of PS Vita - the game is paused, apps are switched over seamlessly and, once exited, gameplay continues without having to restart the code. The convenience and functionality is undeniable, but it comes at a cost to memory consumption.Can a £300 PC match PlayStation 4 performance? Digital Foundry builds and tests its own budget build.
As it stands, both next-gen consoles will launch with 8GB of unified memory, but with a significantly diminished amount actually available to games developers. However, a big area of difference between Sony and Microsoft's approaches to OS allocation could come in their future plans for the reserved RAM. A Microsoft insider tells us that the engineers behind the Xbox One specifically chose 3GB in order to allow the background platform to evolve over a ten-year life-cycle - it's very hard to add features if the pool of available RAM is reduced from its initial level. The reserved RAM allocation there is set in stone, and is unlikely to change.
However, sources close to Sony suggest that the PS4 approach is perhaps more flexible - the current allocation in terms of both CPU cores and memory could be reduced once the operating system is complete and then streamlined. In short, while there is no guarantee of change in the future, Sony is at least leaving the door open to the opportunity and the R&D team has experience in reducing the OS footprint - just as it did on PlayStation 3.
In the here and now, the template is now set for the next-gen launch period, and the focus from both platform holders is that while games command the majority of system resources, supplementary services and apps are clearly very important indeed. Microsoft has already set out its stall in this regard - now it remains to be seen what additional features PlayStation 4 brings to the table above and beyond its core gaming functions.