Jump to content

View more

Image of the Day

Adding some finishing touches...
Follow us for more
#screenshotsaturday #indiedev... by #MakeGoodGames https://t.co/Otbwywbm3a
IOTD | Top Screenshots

The latest, straight to your Inbox.

Subscribe to GameDev.net Direct to receive the latest updates and exclusive content.


Sign up now

PS4 Pro Checkerboard 4k upscaling - good as an AA method?

4: Adsense
  • You cannot reply to this topic
9 replies to this topic

#1 Gian-Reto   Members   

Posted 18 May 2017 - 09:22 AM

So I got me a PS4 Pro today even though I was not all that impressed by the original PS4 3 years ago. But Steam and PC Games in general, while perfectly playable on my HDTV rig, have in general annoyed me with very patchy controller support even for the console port games. How a game like Nier: Automata can have "Only partial" Controller Support on Steam, while having a PS4 Version is beyond me... lazyness by the dev, outsourced to a lazy dev for the PC port, technical limitations?

But I digress. So I was not too keen on the machine itself... I mean its a well designed system, and for all hardware crammed in 400 bucks is a good price, still, compared to my fat PS3 the physical system looks way less nice. And I am not talking about shiny piano black surfaces, not a fan of those... but damn, that PS4 Pro casing looks cheap!

Then I turn the thing on, and while being quite impressed by the detail crammed into the vistas visible in the first few minutes of Horizon: Zero Dawn, I notice something I know all too well from the PS3: Jaggies all over the screen. Either there is no AA whatsoever like in the good old PS3 days, and the devs just had no processing power to spare on AA even on the still not too impressive PS4 Pro chip even when rendering 1080p... or they are using inefficient crap like FXAA because probably the game is using deferred rendering, and good AA methods like downsampling would smoke even the PS4 Pros GPU. In that case, the jaggies probably are caused by the specular highlights (which have caused bad aliasing in about all engines I ever worked in), and transparent/cutout shaders used for foliage, which is the star of the show in Horizon Zero Dawn... besides the Robots, of course.

Either way, I guess I will get used to the Jaggies like I got used to the Jaggies in the PS3 games... still disappointed that the ONLY thing I really wanted to see upgraded in the graphically better PS3 games is still a problem in 2017 (ignoring the 720p resolution and Framerate for now).

 

Somebody on this forum mentioned once that the checkerboard rendering used for getting Pseudo-4k from the PS4 Pro would make for a pretty good AA method as a sideeffect. Having seen that AA indeed is still not that good (or absent) in some games on the PS4 Pro, I am interested if upgrading to a 4k TV and using the checkerboard rendering might reduce the jaggies similarly to what true AA (Downsampling or high Multisampling settings) does on the PC.

Does it help against specular aliasing and with cutout shader jaggies? Or does it fail there like so many of the less performance hungry AA methods?

 

Yes, I know 4k in itself does improve image quality and yadda yadda... I have a 4k screen for my PC and know from expierience that while it does that, it does NOT make aliasing less of a problem. It helps a little bit, but without good AA on screens the sizes of TVs the aliasing is still visible even in 4k.

And yeah, might sound a little bit mindboggling that I would even think about upgrading the TV just for that but... I am planning to move to a 4k TV within 2 years anyway, and have set aside some money to upgrade my Speaker system as my crappy old 5.1 system is breaking down. Add to that that the 2016 LG OLED TVs have come down a LOT in prices, and I might actually consider pulling the trigger on one of this if I get it for a very good price (since the 2016 sets actually got pretty good ratings). Might bridge me over again until real HDR Sets with 10'000 nits of peak brightness become available, and actually affordable ;)

But really, if all checkerboard rendering does is increase resolution a little without really solving the aliasing issues, I might give my ears a better expierience with a better sound system and stay on a non-HDR 1080p TV for now.

 

Anyone that has expierience with how the PS4 Pro or games like HZD look on a 4k Screen with checkerboard rendering able to give me some input?



#2 Rattenhirn   Members   

Posted 18 May 2017 - 10:17 AM

I don't know anything about the PS4 pro's checkerboard upscaling, but I think it is highly unlikely that image quality would be improved by connecting a higher res display.

Checkerboard upscaling might look better than regular upscaling, I believe that. Using checkerboard upscaling combined with downscaling might improve AA on low res displays, but then they would be doing that already.

Get a cool soundsystem! ;)

#3 cowsarenotevil   Members   

Posted 19 May 2017 - 04:15 AM

I'm not 100% certain of this, but I think checkerboard upscaling and then linearly downsampling to the original size will be substantially identical to FXAA, which is definitely helpful, but will also have the same limitations that FXAA has, like temporal aliasing.


-~-The Cow of Darkness-~-

#4 Krypt0n   Members   

Posted 19 May 2017 - 06:22 AM

The higher your resolution, the higher the spatial frequency, hence the perceived aliasing should increase.

Tho, the downsampling on PS4 Pro to 1080p is really nice for AA. Digital Foundry dissects games in this respect and some games really give you all the options to choose from, e.g. recently: 



#5 Hodgman   Moderators   

Posted 19 May 2017 - 06:48 AM

Checkerboard rendering isn't really an upsampling, downsampling or anti-aliasing solution at all. It's a fill-rate solution. You decide that running the pixel shader for every pixel is too expensive, so you run it for ever 2nd pixel (every even pixel on even rows, and every odd pixel on odd rows). Then you need to guess the contents of the missing pixels. Simplest way to do that is to simply use the average of the four pixel that surround each missing pixel. Done.

Then, if you get fancy, you alternate which pixels are rendered and which are skipped on every second frame, so over the course of two frames you do fill every pixel. You combine the reprojection techniques from TXAA to very cleverly fill in the missing pixels instead of just stupidly averaging the neighbours. You can also lean on EQAA hardware to still get depth-buffer values for the missing pixels even though you skipped the pixel shader there, which lets you do even smarter reconstructions. You then add full-blown TXAA where you jitter the pixel centers every frame and accumulate reprojected results over time to get actual anti-aliasing, or use FXAA, or SMAA, etc, etc...

Checkerboard by itself simply lets you reduce your shading cost. You still need to add FXAA/SMAA/TXAA/etc on afterwards to get an anti-aliased result.

"4k" resolution is 4x more pixels than 1080p. If you downsample it back to 1080p, it's equivalent to having rendered with 4xFSAA.

"4k checkerboard" is 2x more pixels than 1080p during shading, but 4x more pixels after the resolve pass. So if you downsample it to 1080p then it's roughly equivalent to 4xFSAA (if your resolve filter is good) but only 2x the shading cost.

Checkerboard isn't just a PS4 feature either; you can do it on PC. It's become associated with the PS4 pro, because the Pro can do 4k TV output, but is only 2x as powerful as the base PS4... This has put it in a situation where it really isn't capable of running base games at 4k... unless you use a trick that reduces your GPU costs by half!

Rainbow Six seige uses checkerboard rendering on PC if I'm not mistake, to achieve 1920*1080 output from a 960*540 2xMSAA shading buffer! They don't use it for AA/super-sampling though -- they use temporal AA for that.

As for specular aliasing and alpha-cut-outs... everyone should be using pre-filtering to reduce specular aliasing, and when possible, OIT/alpha-blending solves the alpha cut out problem.



#6 Kylotan   Moderators   

Posted 19 May 2017 - 07:00 AM

The higher your resolution, the higher the spatial frequency, hence the perceived aliasing should increase.

 

The other way around, surely? The space being sampled stays the same, whereas the sampling rate increases.



#7 JoeJ   Members   

Posted 19 May 2017 - 11:26 AM

Rainbow Six seige uses checkerboard rendering on PC if I'm not mistake, to achieve 1920*1080 output from a 960*540 2xMSAA shading buffer! They don't use it for AA/super-sampling though -- they use temporal AA for that.
As for specular aliasing and alpha-cut-outs... everyone should be using pre-filtering to reduce specular aliasing, and when possible, OIT/alpha-blending solves the alpha cut out problem.


This is very interesting. I've experimented with checkerboard rendering 10 years ago on a software renderer for early smartphones without GPUs.
The idea was to almost double performance and get some motion blur for free.
But in reality the speedup was less than 20% IIRC. Reasons may be: Need to setup the same amount of scanlines, less cache utilization by skipping pixels, and some other now irrelevant stuff.
By using interlacing i would have got a good speed up of 40%, but this looked like shit.

Using MSAA solves those things very well. Do we need programmable subsample positions for this?
Is there finally API support for that on PC? I thought it's still console only.
(Guess one could use a half pixel offset between frames for an alternative, but this works only if we know which GPU usses which positions.)

#8 LandonJerre   Members   

975

Posted 19 May 2017 - 12:03 PM

Using MSAA solves those things very well. Do we need programmable subsample positions for this? Is there finally API support for that on PC? I thought it's still console only. (Guess one could use a half pixel offset between frames for an alternative, but this works only if we know which GPU usses which positions.)

AFAIK the PS4 Pro has some special hardware extensions to make checkerboarding easier, but the R6 Siege version doesn't depend on any special capabilities. http://www.gdcvault.com/play/1022990/Rendering-Rainbow-Six-Siege

The slides say that the resolve pass adds about 1.4ms, but the whole stuff still saves around 8-10ms, which is kind of awesome. (Ever since I first saw the slides describing how they do this, I'm toying with the idea of implementing it in my hobby renderer, but the resolve shaders flow graph, and the fact that they admit their implementation was done by trial and error, scares the hell out of me.)



#9 Hodgman   Moderators   

Posted 19 May 2017 - 11:03 PM

Do we need programmable subsample positions for this? Is there finally API support for that on PC? I thought it's still console only. (Guess one could use a half pixel offset between frames for an alternative, but this works only if we know which GPU usses which positions.) Quote MultiQuote
D3D defines standard sub-pixel sample positions, which yeah lets you to the sub-pixel offset version on PC. Both big vendors have unofficial extensions to let you use programmable offsets on PC, but yeah it's not part of the major APIs (yet). 

#10 Gian-Reto   Members   

Posted 22 May 2017 - 02:55 AM

Woah, that is quite the wealth of information.

So I guess the consensus is that while checkerboard rendering and a 4k screen MIGHT improve aliasing in case of PS4 Pro games, its not a good AA method by itself, and highly dependend on how the game implements it, right?

 

Guess I will hold off spending cash on a 4k TV until one really reaches the sweetspot of OLED, bright enough HDR and around 2000$ cost. And live with some Aliasing in 1080p PS4 games for now.

Well, should get more PS4 games in the mail tomorrow, will see if its a general problem of the PS4 or just the fault of the Guerilla Games devs that Horizon Zero Dawn looks so Jaggy. Probably the latter... shame really, the game looks quite good else.