There is no classic upscaling.That's a two pass upscale with a fancy name.
It's closer to interleaved rendering.
There is no classic upscaling.That's a two pass upscale with a fancy name.
I think it's actually 3200x1800 and then up to 4k. There's no way it's upscaling twice, that would look terrible.
I have only covered two Pro games myself but I've done as much research as possible on the subject. That hurts to hear that as I pour a ton of effort into research but I can't be an expert on all things, obviously. Just doing the best I can within my limited space here. :-(
I can absolutely, 100% tell the difference between 59 and 60fps on a 60hz display. No tools required.
The difference between 59 and 60 fps is a lot bigger than it sounds like. I can instantly tell the difference between them.
It's possible to have 2 different GPU binaries (OG & Pro) according to the PS4 SDK.
Also:
https://twitter.com/cgyrling/status/796973474979844096
https://twitter.com/SebAaltonen/status/788798694271361024
https://twitter.com/SebAaltonen/status/788799985693392896
https://twitter.com/SebAaltonen/status/788991170458378240
https://twitter.com/SebAaltonen/status/788992032341647360
https://twitter.com/SebAaltonen/status/789318349218017280
I'll be curious to see how useful half floats actually are. 16 bit computation could be problematic due to a significant loss in precision making it useless for more complex operations though it could be utilized for things such as post processing, bloom lighting, motion blur, and perhaps even ambient occlusion.
There are other bottlenecks in the system to consider as well which may well negate the benefits of using half floats.
I really don't think 16-bit operations can transform a 4.2TF machine into a full on 8.4TF system, which is what headlines seemed to be suggesting, but there is definitely some additional performance to be gained if used smartly.
16-bit seems more useful for things like render targets and the like where you're storing data, though that too could result in artefacts if you're not careful, I believe.
I'm more interested in other features of the Pro such as the geometry upscaling technique which should give you razor sharp edges while performing shading operations etc. at a lower resolution. 4K displays feature such a high pixel density that skimping on aspects of the visuals doesn't necessarily have a dramatic impact on overall image quality from normal viewing distances.
...well, there's more to the Pro than these features. Curious to see where we end up.
Peak performance, sure, but that's not realistic in a modern game. That's the point.I honestly don't understand why this is so hard for some people to understand PS4 Pro peak performance is 8.4TF when using FP16, this isn't something that's up for debate & it's silly that people argue against this fact just because they have a made up idea about what a TF is . as long as FP16/half precision /half float /16-bit is mentioned when saying 8.4TF there shouldn't be any confusion. the confusion come from trying to limit it to only FP32.
Peak performance, sure, but that's not realistic in a modern game. That's the point.
They also implemented both checkerboard and geometry rendering.he said only 2 employees worked on the pro patch, that is impressive.
It bodes well, we're looking at better textures and presets on the PC side. If all things are equal as it relates to graphical settings, I believe the comparison becomes a better one....I can see this difference from 8ft away, crop is one to one. Not anything like 4k resolution. EDIT make that 12ft, as far as I can go without moving my furniture.
Doesn't bode well if this is true 2160p checkerboarding and not 1800p checkboarding.
Anyway, I feel the PC 4k native comparisons are a bit silly. Best to compare how much better than the OG PS4 or if there's going to be a PC comparison lets see how checkerboarding fares to standard upscale of native 1440p 1800p and then 2160p native for some context on what checkerboard delivers.
The difference between 59 and 60 fps is a lot bigger than it sounds like. I can instantly tell the difference between them.
The base render resolution of the Pro version is lower than 4k native, so you will always see such disparity in a pic comparison. The same was quite visible with 900p vs 1080p games on XB1 vs PS4 or 720p vs 1080p games on these platforms.If that crop is one to one then why is the PS4 Pro side zoomed in so much more?
I was kinda taken aback when it was announced that Infamous was checkerboarded, because I knew they were using Geometry rendering all this time. I can only imagine that they're using GR for the 60fps mode and checkerboard rendering for the 4k mode.They also implemented both checkerboard and geometry rendering.
Sadly only checkerboard was released to public.
AI pathfinding (compute shaders) doesn't need 32-bit precision. Vertex shaders need it.I'll be curious to see how useful half floats actually are. 16 bit computation could be problematic due to a significant loss in precision making it useless for more complex operations though it could be utilized for things such as post processing, bloom lighting, motion blur, and perhaps even ambient occlusion.
There are other bottlenecks in the system to consider as well which may well negate the benefits of using half floats.
I really don't think 16-bit operations can transform a 4.2TF machine into a full on 8.4TF system, which is what headlines seemed to be suggesting, but there is definitely some additional performance to be gained if used smartly.
16-bit seems more useful for things like render targets and the like where you're storing data, though that too could result in artefacts if you're not careful, I believe.
I'm more interested in other features of the Pro such as the geometry upscaling technique which should give you razor sharp edges while performing shading operations etc. at a lower resolution. 4K displays feature such a high pixel density that skimping on aspects of the visuals doesn't necessarily have a dramatic impact on overall image quality from normal viewing distances.
...well, there's more to the Pro than these features. Curious to see where we end up.
Writing mixed precision shader code is not exactly an easy task:This is compulsory (as much as can be) writing shader code with 16-bit or 32-bit variables is not something that takes huge work. Unless you are going to recalculate iteratively over long numbers the need for 32 is not as high as required.
The big issue is writing 16-bit code until now gained you no real benefit, as the same reg space was used. This will be used for sure, not just in Pro titles and it will not cause vast amounts of work.
Yeah, there's definitely plenty of interesting use cases. I'm very interested to see how it's put to use, though I'm sure we'll have to await new presentations or white papers in order to understand the full scope.AI pathfinding (compute shaders) doesn't need 32-bit precision. Vertex shaders need it.
ND already runs UC4 AI pathfinding on the GPU asynchronously... using 32-bit regs seems like a waste of resources in that case.
Not sure about pixel shaders, but we'll see how it pans out. Some devs seem confident about it. Maybe TLOU2 or UC4 SP DLC will be the first games to make serious use of FP16 shaders...
The problem I have is integrating that type of information in a meaningful way when discussing these games. I'm not convinced all of these elements will play a significant role in the system either - half floats, for instance, is interesting in concept but how useful will it be in practice when developers have to maintain support for the original machine as well. There is certainly an interesting discussion to be had there.
What resolution is "prefer framerate" mode? I somehow missed it in the video (or was it not mentioned?)
Exactly.Just like how digital foundry questioned how Microsoft was able to double ESRAM bandwidth out of thin air.
That's a two pass upscale with a fancy name.
Pretty much, yeah. A different technique than what is usually done but still just upscaling.
No, you're incorrect. The checkerboard technique is not upscaling: it does not start with one size frame and transform it into another size. This is demonstrated by the fact that there are current and upcoming games that use checkerboard, but whose framebuffer is 3840x2160.Yes it is, and many games are doing it and will do it.
Actually it does. Although it doesn't use a target resolution as we're used to as the used resolution has "holes" in it. A checkerboard implementation will shade only 1/2 pixels of the final image. The other pixels are "made up" by the checkerboard implementation.No, you're incorrect. The checkerboard technique is not upscaling: it does not start with one size frame and transform it into another size. This is demonstrated by the fact that there are current and upcoming games that use checkerboard, but whose framebuffer is 3840x2160.
Oh I agree, I never meant mixed within code but instead of. So long as you know your target value you can code and compensate as appropriate.AI pathfinding (compute shaders) doesn't need 32-bit precision. Vertex shaders need it.
ND already runs UC4 AI pathfinding on the GPU asynchronously... using 32-bit regs seems like a waste of resources in that case.
Not sure about pixel shaders, but we'll see how it pans out.
Writing mixed precision shader code is not exactly an easy task:
https://forum.beyond3d.com/threads/fp16-but-its-the-current-year.59725/#post-1950859
I'm sure ND/ICE Team will impress us...
Exactly.
No, you're incorrect. The checkerboard technique is not upscaling: it does not start with one size frame and transform it into another size. This is demonstrated by the fact that there are current and upcoming games that use checkerboard, but whose framebuffer is 3840x2160.
Yes that's what happens, but that's not scaling. Nothing is changing size. Checkerboard in this context is an interleaved rendering technique using reprojection. It is not "upscaling" in any way.Actually it does. Although it doesn't use a target resolution as we're used to as the used resolution has "holes" in it. A checkerboard implementation will shade only 1/2 pixels of the final image. The other pixels are "made up" by the checkerboard implementation.
Yes, but I was only disputing the part where you agreed checkerboard was a "double upscale". No problem with the rest.I'm sure I wrote more than that....
Yes that's what happens, but that's not scaling. Nothing is changing size. Checkerboard in this context is an interleaved rendering technique using reprojection. It is not "upscaling" in any way.
Yes, but I was only disputing the part where you agreed checkerboard was a "double upscale". No problem with the rest.
Pretty much, yeah. A different technique than what is usually done but still just upscaling.
But that's not what checkerboard does. The 2160c method creates a 3840x2160 framebuffer. Half the pixels are rendered by typical means, and the other half by reprojection from the previous frame, often (always?) augmented by additional algorithms.Transforming a 1920x2160 pixel grid to a 3840x2160 pixel grid is a upscale.
No. There is no scaling involved--no change of image size. (It actually has more in common with some antialiasing techniques than it does upscaling.) The most accurate term for it is interleaved rendering.How you calculate those new 4 million pixels is what will say if is some kind of upscale or another, right?
But that's not what checkerboard does. The 2160c method creates a 3840x2160 framebuffer. Half the pixels are rendered by typical means, and the other half by reprojection from the previous frame, often (always?) augmented by additional algorithms.
No. There is no scaling involved--no change of image size. (It actually has more in common with some antialiasing techniques than it does upscaling.) The most accurate term for it is interleaved rendering.
If anyone at DF is reading, ETA for Overwatch analysis?
I'd argue against this. From what I've gathered, checkerboarding starts with half the pixels of the final framebuffer, albeit in a checkerboard format, and then uses maths and magic to calculate what the final frame is meant to be. Even though that process is different to typical upscaling, it still fits the criteria of upscaling one frame to a final frame. Just because it's done prior to when upscaling to take place, doesn't mean it's not using a form of upscaling to calculate that image.No, you're incorrect. The checkerboard technique is not upscaling: it does not start with one size frame and transform it into another size. This is demonstrated by the fact that there are current and upcoming games that use checkerboard, but whose framebuffer is 3840x2160.
Facts are not subject to your opinion. You're simply incorrect.In my opinion is a new gen and more advanced upscaling.
Absolutely not! For one, as I've pointed out the word "upscale" means "to grow in size". If that's not happening, it can't be the right term.Upscale only implies you have to calculate new pixels.
No, the frame is not any bigger at the end. It starts at 3840x2160. The values of pixels at odd addresses are calculated by concatenating multiple buffers that describe various influences. The values of pixels at even addresses are calculated by concatenating a different set of buffers.If you have a 1920x2160 pixels "rendered by typical means", the final 3840x2160 frame is bigger. Two times bigger.
Yes, because it's still doing the same thing. But upscaling is not doing the same thing as checkerboard.Motion interpolation in TVs has come a long way from the old simple framerate doublers. But it is still motion interpolation, right?
That has always been the case with df.Based on his pro analysis and his colleagues, I don't think they are well versed as people believe. All this new stuff is really showing they haven't done the homework past the surface.
BTW this is very good video to show why 1800p is too much for Pro.
With unlocked frames there's around 10% drop in framerates - but since basic PS4 had 40-50 fps in unlocked mode there's plenty of "safety margin" to keep locked 30 fps and 1800p resolution.
But if the game offers "cinematic experience" of barely keeping 30 fps like Watch Dogs then Pro will have bigger drops than basic mode at 1800p.
So it would be better if developers went for 1620p like Call of Duty did - if they don't have that few fps buffer.
BTW this is very good video to show why 1800p is too much for Pro..
I'd argue against this. From what I've gathered, checkerboarding starts with half the pixels of the final framebuffer, albeit in a checkerboard format, and then uses maths and magic to calculate what the final frame is meant to be. Even though that process is different to typical upscaling, it still fits the criteria of upscaling one frame to a final frame. Just because it's done prior to when upscaling to take place, doesn't mean it's not using a form of upscaling to calculate that image.
By the same definition, Ryse wouldn't be upscaled as it uses a custom technique prior to final framebuffer, although we all agreed it was upscaled.
But if the game offers "cinematic experience" of barely keeping 30 fps like Watch Dogs then Pro will have bigger drops than basic mode at 1800p.
Using your definition of the term upscale it still fits. It grows from ½N pixels to N pixels. It just doesn't grow outward but inward to fill the holes. You're to fixated on the width and height of a frame.Absolutely not! For one, as I've pointed out the word "upscale" means "to grow in size". If that's not happening, it can't be the right term.
It starts at 3840*2160 as much as a interlaced image starts at 3840*2160. It creates a picture with holes in it. But unlike interlaced it actually fills those holes not too dissimilar to how other upscaling techniques fill empty spaces in a image, it just does it in a more advanced way by reusing older data.No, the frame is not any bigger at the end. It starts at 3840x2160. The values of pixels at odd addresses are calculated by concatenating multiple buffers that describe various influences. The values of pixels at even addresses are calculated by concatenating a different set of buffers.
The thing is, "maths and magic" is exactly how the first half of the pixels are created too. There's not some background truth that a renderer pulls from--every pixel is built up from scratch. There are a series of buffers representing inputs to the luminance or chrominance values of the pixel, and the engine sums those inputs to determine the final values.I'd argue against this. From what I've gathered, checkerboarding starts with half the pixels of the final framebuffer, albeit in a checkerboard format, and then uses maths and magic to calculate what the final frame is meant to be. Even though that process is different to typical upscaling, it still fits the criteria of upscaling one frame to a final frame.
No, because in the end Ryse scaled its output from one size to another. Checkerboard does not do that.By the same definition, Ryse wouldn't be upscaled as it uses a custom technique prior to final framebuffer, although we all agreed it was upscaled.
You've been misinformed, 1800c is not the same number of pixels as 900p. It's twice as many.To be completely honest, I'm quite disappointed by this solution after learning more about it. The final images seem quite soft, and with this example at 1800p it's taking essentially the same amount of pixels as 900p and filling in the blanks with a bit of maths. Correct me if I'm wrong there, I'm just using my understanding from what's been said to me.
You've been misinformed, 1800c is not the same number of pixels as 900p. It's twice as many.
As for the quality of the final images, I won't try to argue your tastes. But keep in mind that "quite soft" is also a description of good AA versus bad. And too, if you're okay with the games you play on non-Pro consoles? Well, 1800c is much sharper than anything you've seen on them.
I'm understanding this more and more. Can you provide us the numerical data for how many pixels is in the following....
900p = 1600 * 900 = 1,440,000 (69%)
1080p = 1920 * 1080 = 2,073,600 (100%)
1440p = 2560 * 1440 = 3,686,400 (178%)
4K = 3640 * 2160 = 8,294,400 (400%)
And then
1800c = 1600 * 1800 = 2,880,000 (138%) checkerboarded to create an 3200 * 1800 = 5,760,000 (277%) image
2160c = 1920 * 2160 = 4,147,200 (200%) checkerboarded to create an 3640 * 2160 = 8,294,400 (400%) image
Facts are not subject to your opinion. You're simply incorrect.
Absolutely not! For one, as I've pointed out the word "upscale" means "to grow in size". If that's not happening, it can't be the right term.
Second, if "upscale" meant any calculation of new pixels, then AA would be "upscale". A lighting pass would be "upscale". Indeed, every single step in rendering of any kind would be "upscale". You've diluted the term to irrelevance.
No, the frame is not any bigger at the end. It starts at 3840x2160. The values of pixels at odd addresses are calculated by concatenating multiple buffers that describe various influences. The values of pixels at even addresses are calculated by concatenating a different set of buffers.
Yes, because it's still doing the same thing. But upscaling is not doing the same thing as checkerboard.
Unless you redefine "upscaling" to mean "any method calculating pixels", in which case it's uselessly broad. Motion interpolation would be "upscaling" in that view, for example.
Upscaling doesn't add more data to the image. Checkerboard rendering does.I can't see your logic, sorry.
In my opinion the native half resolution frame rendered in the old fashion way is upscaled to a final doubled resolution frame. What you are describing is how the holes in the Gruyère native rendered frame are filled. Filled, completed, complemented, upscaled....
If we both agree that the old style rendered image has half the resolution, I can't see why to deny that this image grows later in size, so it's upscaled.
Regular AA is not upscaling because is not adding new pixels, but improving the existing ones.
Your numbers are right, but I'd argue with how they're presented. By giving different values for 1800c and "what it's checkerboarded to" you're falling into the semantic trap that some rendered pixels are "more real" than others.taking 1080p as a baseline (100%) [numbers]
Thing is, your opinion is wrong. Despite the implication of your last sentence here, it actually matters what we call stuff. No scaling is happening with checkerboard, so why call it that? We have plenty of other words that will lead to less confusion.In my opinion the native half resolution frame rendered in the old fashion way is upscaled to a final doubled resolution frame. What you are describing is how the holes in the Gruyère native rendered frame are filled. Filled, completed, complemented, upscaled....
What you call "old-fashioned rendering" is adding new pixels, not improving existing ones. So is it "upscaling"?Regular AA is not upscaling because is not adding new pixels, but improving the existing ones.
While this isn't - strictly speaking - wrong, the problem with those numbers is that the absolute pixel counts don't translate to actual graphics-compute costs using checkerboard.Fliesen said:For completeness sake.
The only thing that separates AA from "upscale" as you define it, is the resolve step. If instead of averaging subsamples you redistribute them to a higher-resolution pixel grid, you get exactly your definition of upscale, with no changes to AA algorithm itself.MaLDo said:Regular AA is not upscaling because is not adding new pixels, but improving the existing ones.