PS4 Pro Official Specifications (Codename NEO)

Status
Not open for further replies.
I suggest reading this GDC presentation by Jalal Eddine El Mansouri. It has detailed description of the checkerboard rendering technique: http://www.gdcvault.com/play/1022990/Rendering-Rainbow-Six-Siege

As far as I know this particular kind of checkerboard rendering was invented a few years ago at Ubisoft. Of course every new rendering technique borrows/adapts ideas from others, so it is hard to say who exactly invented it. Killzone Shadow Fall's interlacing (1080p 60 fps multiplayer mode on PS4) was similar, but a slightly less advanced technique. I believe Drobot's research (he was also working for Killzone SF before joining Ubisoft) influenced the whole real time rendering field. His 2014 article (https://michaldrobot.com/2014/08/13/hraa-siggraph-2014-slides-available/) is a must read. This technique used both MSAA subsample tricks and temporal reconstruction. Brian Karis' (Epic/Unreal) temporal supersampling article was also highly influential (https://de45xmedrsdbp.cloudfront.net/Resources/files/TemporalAA_small-59732822.pdf). Jalal's presentation also mentions my research (as a reference): http://advances.realtimerendering.c...siggraph2015_combined_final_footer_220dpi.pdf. Our 8xMSAA trick (two samples per pixel) could be seen as subpixel checkerboarding (regarding to antialiasing).

Rainbow Six Siege was released one year ago on Xbox One and PS4. It used 1080p checkerboard rendering. 4K obviously makes pixels 4x smaller, making checkerboarding even more valid technique. Even if reprojection fails (= areas not visible last frame), 4K checkerboard still results in 2x higher pixel density than 1080p.

Yes. You need per sample frequency shading if you are going to use the common (2xMSAA) way of implementing it. You don't need programmable sampling patterns, since you can shift the render target by one pixel to the left (0<->1 pixel alternating projection matrix x offset). The standard 2xMSAA pattern is exactly what you want (https://msdn.microsoft.com/en-us/library/windows/desktop/ff476218(v=vs.85).aspx). 2xMSAA checkerboarding requires one pixel wider render target (first or last row is alternatively discarded). Jalal's presentation has some images about this.

DirectX 10 added support for sample frequency shading (SV_SampleIndex). DX10 also added support for reading individual samples from MSAA textures (Texture2DMS.Load). Any DirectX 10 compatible hardware is able to perform checkerboard rendering. Last gen consoles had DX9 feature sets, didn't support per sample shading and didn't have standardized MSAA patterns. As there were no DX10 consoles, this makes Xbox One and PS4 the first consoles capable of this technique.
Thanks for the detailed explanation. I wonder if I understood it after reading that Ubisoft's pdf and so on...

- This technique takes 2 x 2 pixels patterns as samples to work with.
- It is like MSAA x 2.
- Those two 2x2 patterns are the odd one and the even one, like numbers.
- Say you have a 4 x 4 chess board (a square);
odd 2x2 pattern to the left, even 2x2 pattern to the right.
- They are in solid blocks of 4 (2x2)
- But, if you split them and you combine them, it's like a checkers game board you get something like this

0_Checkerboard4x4.gif


The black squares are from different colours in an actual game, not just black.
- It is much much better than upscaling because it adds geometry to the scene, it just doesn't keep the geometry like upscaling.
- The PS4 Pro does it in hardware, which makes it even better --Jonathan Blow commented once that it might come at a cost in some titles.

Finally, now that you mention it.. Is this technique available to other apis other than D3D 10 and above?
 
Last edited:
Finally, now that you mention it.. Is this technique available to other apis other than D3D 10 and above?
OpenGL ES 3.1 and (Apple) Metal both have the required features for checkerboard implementation. I am not sure whether someone has tried to implement it yet. Most mobile devs are still stuck at OpenGL ES 2.0 (DX9 equivalent).

Most mobile developers don't want to do any post processing (no temporal reprojection), as post processing is very bandwidth intensive at retina resolutions (25.6 GB/s is common memory bandwidth in tablets/phones). For this case there are simpler more efficient alternatives also available.

A good example: http://www.highperformancegraphics....rQuickTalks/HPG2015_coarse_shading_final.pptx.

This particular technique uses 4xMSAA (with custom ordered grid pattern) and renders at 2x2 lower resolution (up to 4x savings in shading cost). The image quality however is nowhere near good checkerboard implementation. MSAA keeps triangle edges sharp, but texturing and shading of surfaces is performed at 2x2 lower resolution. But it is still much better choice than simply doing bilinear/bicubic upsampling.
 
Last edited:
What about the Wii U? It's got a DX10.1 GPU in it.

By now, the only meaningful thing about the Wii U is that it's a worthless effort to know what it can do because 99% of the people who bought the console are only in it for the 1st-party titles.
 
dang...pressure is on to get an SSD...think I will hold off until DF/someone do some comparisons, ~£200 for a 1TB is a lot of dough just to increase loading speeds
 
Last edited:
dang...pressure is on to get an SSD...think I will hold off until DF/someone do some comparisons, ~£200 for a 1TB is a lot of dough just to increase loading times


I got a 1TB Seagate hybrid for like 70 bucks and put it in an external enclosure (XBO)...

Some tests showed it gaining almost as much as SSD for a fraction the costs, but the drives vs load times testing I've seen seems to vary wildly, so who knows. I think it's safe to say an SSD is better.
 
Beyond the supported interface and version, I think the larger question is if there's still a soft cap imposed on max throughput. If memory serves me, some discussions on this board hinted that the current soft cap for the base PS4 is far less than even the theoretical max for SATA 2 (3 Gbps, 300 MBps). Around 125 - 150 MBps comes to mind but I could be mistaken. Obviously, this should have no bearing on performance parameters not dependent on throughput (like seek times) but its worth keeping in mind.
 
The hybrid drives were probably close to ssd speeds on xbo and ps4 precisely because they use SATA 2. I would imagine if PS4 Pro fully supports SATA 3... SSD drives would pull ahead over a hybrid drive.
 
Has there been any actual confirmation or even talk from Sony about whether Pro will have removable hard drive? I guess there's no reason to believe it won't..

By the looks of the back of it there does seem to be a removable area here:

c42RSZx.jpg
 
I got a 1TB Seagate hybrid for like 70 bucks and put it in an external enclosure (XBO)...

Some tests showed it gaining almost as much as SSD for a fraction the costs, but the drives vs load times testing I've seen seems to vary wildly, so who knows. I think it's safe to say an SSD is better.

Yeah, I have a hybrid in my PS4 but and external SSD for my XBO - if Pro takes advantage of the speed then I think I will just have to swallow the pill...seems a shame to have a machine not performing as well as it could.
 
OpenGL ES 3.1 and (Apple) Metal both have the required features for checkerboard implementation. I am not sure whether someone has tried to implement it yet. Most mobile devs are still stuck at OpenGL ES 2.0 (DX9 equivalent).

Most mobile developers don't want to do any post processing (no temporal reprojection), as post processing is very bandwidth intensive at retina resolutions (25.6 GB/s is common memory bandwidth in tablets/phones). For this case there are simpler more efficient alternatives also available.

A good example: http://www.highperformancegraphics....rQuickTalks/HPG2015_coarse_shading_final.pptx.

This particular technique uses 4xMSAA (with custom ordered grid pattern) and renders at 2x2 lower resolution (up to 4x savings in shading cost). The image quality however is nowhere near good checkerboard implementation. MSAA keeps triangle edges sharp, but texturing and shading of surfaces is performed at 2x2 lower resolution. But it is still much better choice than simply doing bilinear/bicubic upsampling.
Thanks for the paper, somehow had missed it.

Nice idea on the paper is the sampling reduction on areas which do not need as much shading. (Motion blur, DoF etc.)
Could be interesting addition, if one would use 8xMSAA for checkeredboard. (16 sample pattern with temporal.)
 
Why would you want to increase loading times?

So when I run to get a coke out the fridge I don't have to deal with the game loading up while I am away and my unattended character getting cut down in my absence and me sitting there in disgust as my game has to load up a second time.
 
Status
Not open for further replies.
Back
Top