Killzone: Shadow Fall Post Mortem PDF Analysis and Breakdown
The Killzone: Shadow Fall demo on the Playstation 4 was an incredible preview of just what we’ll be seeing on the PS4, and Guerilla has released a “Post-Mortem” PDF of the demo, to show off to other developers what they have learned developing for the new machine. The document goes into surprising levels of detail, showing off CPU and GPU usage, information on their evolution of programing techniques from Killzone on the PS3, all the way to how much memory different processes are using.
Before we start though – let’s take a look at the basics. The Killzone Shadow Fall Post Mortem PDF is currently AWOL from their website. The link is there, but when clicked it gives a “cannot be found” error. I’m unsure if they’re currently in the process of moving servers, deleted it because it’s served its purpose, or something else entirely. However, luckily I managed to grab it before its removal. Inside the PDF, they specifically state that: “We’re working on two titles – unannounced new IP, Killzone: Shadow Fall”. That does beg the question what this new IP is, doesn’t it?
Guerilla also proudly state the new Killzone is an exclusive PS4 launch title (although we knew that already). They aimed to get the demo (the Killzone: Shadow Fall demo was first shown on the Playstation meeting earlier this year) running smoothly on PS4 hardware. Their goals were: 1080P at a solid 30FPS with “no cheats”.
We should also keep in mind that the demo is by no means “finished technology”. By which, I mean Guerilla are still hard at work improving the performance and look of the title. One of the easiest examples of this is the Anti-Aliasing technique they are currently employing in the demo. Anti-Aliasing (AA) is the practice of removing ‘jaggies’ (the jagged edges of rendered objects) in a scene and smoothing out the detail. So far for Kilzone: Shadow Fall, the PDF points to Guerilla temporarily using Nvidia’s FXAA. They specifically mention “1080p, RGBA16f, no MSAA at the moment”. Right now, FXAA is a light-weight method of AA, that has little bandwidth and memory requirement compared to say MSAA. Sony’s Advanced Technology Group (ATG) are apparently working with Guerilla in creating a new Anti-Aliasing technique, known as “TMAA”. There are little other details on this however.
Killzone: Shadow Fall PS4 Memory Use
Memory used for Killzone: Shadow Fall demo equaled to around 4.6GB (for the sake of comparison, that’s a shade under 9 times the total amount of memory the PS3 had – 512MB total). 1,536MB are for the System, GPU and CPU share a pool of 128MB of memory, crazily, the video RAM is 3,072MB. 3GB of memory just for the graphics I hear you cry? Indeed – that’s a fairly insane number. 6 times the total amount of RAM either the XBox 360 or PS3 boast, just for the graphics of the game. It’s also fairly evident that the RAM of the PS4 isn’t the only thing that Guerilla love – but the bandwidth. However, despite the Playstation 4 having 176GB/s of bandwidth, that doesn’t mean that you can waste it. There is no such thing as limitless when it comes to computing resources, and small pixel formats are key to making the most of the available bandwidth. To give an exact quote “GDDR5 bandwidth is awesome! If you map your memory properly; Use the smallest pixelformat for the job”
For system memory, you’ll notice that Sound takes the most amount of RAM, and Havok Scratch takes second place. Havok Scratch is mostly likely referring to the “Havok Engine” which is for providing in game physics. Physics are certainly eating up not just a lot of RAM, but also CPU resources – although we’ll get to that later.
Killzone: Shadow Fall has a huge amount of Textures, with 1,321MB being taking up just for Non-Streaming Textures. That is a rather insane amount of memory, and gives us an indication that Video RAM on next generation PC graphics cards could well be at a premium. Perhaps in a year or two, the 2GB of RAM cards will no longer be enough and we’ll all need to move onto 3GB RAM graphics cards at the least?
Perhaps the oddest thing about the Post-Mortem PDF is the CPU usage. The graphics of CPU usage show off 5 main threads, and one “orchestrator” thread. This means that 6 CPU’s are being used, when the Playstation 4 has 8. The AMD Jaguar inside the Playstation 4 has 8 cores, each handling one hardware thread each. So, what’s going on with the other 2 cores? Are they just not needed, or is there something else going on? It’s possible that right now Sony are still nailing down the exact resources that are being reserved for the Operating System, and are therefore asking developers to work with only 6 of the CPU cores, just in case they need a little extra for the Operating System. The Orchestrator has a rather important job, it basically schedules the tasks across the other cores – in effect, acting as the boss thread. This is known as a “Job-Based” technique and was created for the Xbox 360 and Ps3 generation in an effort to make use of their multi core CPU’s. The purpose is going “wide” – spreading the load over as many cores as efficiently as possible. Their biggest challenge was “thread contention” and indeed “gained approximately 50 percent of CPU back by fixing high level code”. This means they’re not trying to address the CPU directly – which is possible for the Playstation 4 hardware. Guerrila aren’t going that route for Killzone Shadow Fall however.
Killzone Shadow Fall Graphics
There are a number of ways that graphics in Killzone Shadow Fall have been improved. I will not speak about the lighting much in this article – because it’s a huge subject and has about 100 page PDF to go with it. I’ll focus mostly on model level of detail and other such subjects.
The level of detail on PS4 debut of Killzone has improved, the post-mortem makes it evident that there have been vast improvements on the highest level of detail models, and more models are various distances to make the detail of characters drop away in a more natural way.
Killzone 3 on the Playstation 3 used 3 LODs (Level of Details), the highest being 10,000 polygons, and 1024×1024 textures. This is demolished by Killzone: Shadow Fall which uses 7 levels, the highest being 40,000 polygons. there are Six 2048 by 2048 textures used on the body. There are also detail maps and head textures too.
Geometry is eating up a lot of the GPU’s time, so there is a lot of extra work that they can do to reduce the load. It is possible with enough time they could up to double the polygon detail, but right now it’s far too early to know for sure.
It’s also worthy to note that the PS4’s Compute Power isn’t really being used yet. It seems despite Sony heavily touting about the compute abilities, Guerrilla have only one task which uses it. Memory deframentation! Its a rather strange fact that they’ve yet to implement the technology yet, especially considering that it has the potential to be used to perform fantastic physics, handle particle effects, and even other functions such as texture streaming or AI. It’s possible that they simply haven’t gotten a handle on how to use it yet. It’s also most likely that Guerrilla are using Killzone: Shadow Fall as a learning experience. There is still a lot that they must learn, the PS4 hardware is easy to program for (their own words) but is quite the departure from the Playstation 3’s rather complicated Cell processor.