Image Quality and Framebuffer Speculations for WIP/alpha/beta/E3 games *Read the first post*

I'm unconvinced that their temporal AA is a true temporal AA as we are used to talking about it. Blending a previous frame may reduce temporal aliasing but it's not really an AA technique.
I'm not sure what true temporal AA is supposed to mean unless you mean as a form of motion blur. Crytek used that definition early in their presentations, but otherwise their SMAA TnX modes all try to reduce the ghosting from N-1 blending, and that's not an exact thing either.
 
I wouldn't call motion blurring temporal AA but proper motion blur is still better than something like this, and yes it does eliminate temporal aliasing. Most of the time though I believe temporal AA refers to methods that reproject previous pixels to their new estimated positions on screen, not the same exact position as it was before.
 
I wouldn't call motion blurring temporal AA but proper motion blur is still better than something like this, and yes it does eliminate temporal aliasing. Most of the time though I believe temporal AA refers to methods that reproject previous pixels to their new estimated positions on screen, not the same exact position as it was before.
ATI's Temporal AA was just sample patterns switching positions every other frame
NVIDIA's TXAA is the same + taking samples, as they are, from previous frame to be included in new frame (but probably at lower weights)
 
I'm not sure what true temporal AA is supposed to mean unless you mean as a form of motion blur.
It needs to be selective. A blur filter is not the same as a post FX AA filter. Some post FX AA filters might not be very selective and blur too much, but then we respond to them more as being blur filters rather than AA techniques. If the temporal samples are indiscriminate, it's not an AA technique focussed at reducing aliasing only, but a...special effect. Use the Z buffer or contrast analysis or something to only blend previous frame data where needed to reduce aliasing.

Would we call the widespread use of accumulated-framebuffer motion blur on PS2 titles 'temporal antialiasing'?
 
It needs to be selective. A blur filter is not the same as a post FX AA filter. Some post FX AA filters might not be very selective and blur too much, but then we respond to them more as being blur filters rather than AA techniques. If the temporal samples are indiscriminate, it's not an AA technique focussed at reducing aliasing only, but a...special effect. Use the Z buffer or contrast analysis or something to only blend previous frame data where needed to reduce aliasing.

We still had ghosting with Reach, and that was considered somewhat temporal SSAA of sorts (in-polygon shader aliasing was also reduced if you stood still, but clearly broken when moving)... The algorithm had some sort of motion threshold for switching off, but clearly not perfect hence the ghosting for various objects.

Anyways, this all seems rather... semantic etc. :s
 
Last edited:
Anyways, this all seems rather... semantic etc. :s
It is, but perhaps it's a necessary semantic discussion. eg. If a game features a uniform 9 tap box blur and calls it their AA solution, how we report the rendering res and IQ? Is it really a native render with destructive 9 sample AA, or is it zero AA and a heavy post effect? Similar to the Killzone upscale debacle - it needed clarification and reclassification as it was a technique that didn't fit conventional terminology which lead to misunderstanding.

In this particular instant I'm far more comfortable calling a duck a duck rather than an oddly shaped and curiously behaved chicken alternative.
 
"Post-AA"

*cough*

:p

Well, unfortunately, "temporal" has been used in different situations as noted above. In Project Cars case, the preview build might have just been using a broken SMAA TX variant, but they're now apparently sticking with EQAA on both consoles?

Do the edges not look better when the camera is still (in-game, not paused in-video)? The ghosted shots should feature aliased edges on the mismatched pixels as they aren't blended properly. e.g. like when Reach breaks, but @ no movement, the image is still less aliased.
 
Last edited:
ATI's Temporal AA was just sample patterns switching positions every other frame
NVIDIA's TXAA is the same + taking samples, as they are, from previous frame to be included in new frame (but probably at lower weights)

It takes samples from previous frames, but I believe it reprojects them based on the motion vectors of the pixels it sampled in the previous frames. So if an object is moving to the right by 5 pixels per frame, those pixels will be reprojected 5 pixels to the right on the next frame, etc. This can create ghosting when the motion vectors don't predict motion correctly, but nowhere near as bad as what you see here, because this simply isn't temporal AA.
 
eg. If a game features a uniform 9 tap box blur and calls it their AA solution, how we report the rendering res and IQ? Is it really a native render with destructive 9 sample AA, or is it zero AA and a heavy post effect?

Similar to the Killzone upscale debacle - it needed clarification and reclassification as it was a technique that didn't fit conventional terminology which lead to misunderstanding.

Just follow the classification of species then. ;) (Kinky Programmers Come Over For Graphics Sampling). Everyone's trying to come up with different ways of re-using the previous frame(s) data to enhance the current frame. If it breaks, it breaks, and there's ghosting. Shadowfall wasn't immune, FarCry 4 wasn't immune, but there was a temporal component. Do you just not allow a general
"temporal" name?

Temporal has loads of meanings, but re-using previous frame data is common across all these solutions from Crytek/GG/Epic/Ubi/nVidia etc. Ghosting is just in the nature of all the solutions so far - temporal reprojection is just one (pretty decent) solution to eliminate it besides naive implementations ala Reach etc.

If PC isn't enhancing the current frame but still ghosting, then yes it's not really temporal "AA", and it'd just be a crap blur that does nothing important as it's not sampling enough to be adequate motion blur as we've normally seen since last gen (8+ samples between frames, optional extra blur passes etc.).

I haven't seen proper framegrabs yet to know if the AA breaks with the ghosting, but SMS did come out and say it was to enhance the image.
 
Last edited:
Hm......

http://neogaf.com/forum/showpost.php?p=162942565#post162942565


SMSRenderTeam said:
Ok,

Here is a capture from PS4 I just made without the temporal AA step applied. (Ignore the yellow text from the development build)


hHrgtic.jpg




You can clearly see our standard PC/XB1 motion-blur shader visible - it's exactly the same runtime code, shader code with same number of motion samples and the same full HDR texture resolution!

The road has that "lovely" motion-blur speed look that you get with this method using multiple samples.

Now you might note that the armco's and some of the scenery are less blurred than some of the images posted around here. This is because the motion *velocity* shader parameter is reduced on PS4 - the temporal AA post process (through persistence of vision) also adds to the impression of motion blur - so if we kept the motion velocity scale the same as XB1/PC there would then be to much MB.

If we implemented an option for allowing the temporal AA effect to have sort some of slider as has been mentioned then the traditional Motion Blur velocity scale would be change inversely to the scale of the temporal AA effect. The motion velocity scale could be also be on a seperate slider on all platforms - since it's the exact same code.

I hope this explanation gives the community here some further clarity on why isolated image analysis isn't always the full picture........ (badum!)
 
So I was wrong. The game does have motion blur on PS4. But they reduced it so much, that we never can appreciate it because:
  • They admit to have reduced the motion blur velocity settings so as not to have extra blurriness as there's already ghosting (it's their rationale)
  • You have an entire previous frame written on top of the new one, obscuring any sign to be appreciated even in still shots, let alone in motion.
They reduced the motion blur "velocity" to the point that I thought they weren't doing any motion blur: (PS4 on the left, Xbox One on the right)
jCDQor3.png
tgrSo4W.png

This is from a similar scenario. On PS4, the trees edges are sharp, the cones are sharp (well, any blurriness could be attributed to the fact that it's a blended image).
 
Last edited:
So I was wrong. The game does have motion blur on PS4. But they reduced it so much, that we never can appreciate it because:
  • They admit to have reduced the motion blur velocity settings so as not to have extra blurriness as there's already ghosting (it's their rationale)
  • You have an entire previous frame written on top of the new one, obscuring any sign to be appreciated even in still shots, let alone in motion.
They reduced the motion blur "velocity" to the point that I thought they weren't doing any motion blur: (PS4 on the left, Xbox One on the right)
jCDQor3.png
tgrSo4W.png

This is from a similar scenario. On PS4, the trees edges are sharp, the cones are sharp (well, any blurriness could be attributed to the fact that it's a blended image).
They stated that the game uses EQAA, but I still wonder what kind of AA they use. I mean..., are both consoles featuring the same AA? Or is EQAA some kind of temporal AA? Or is it maybe that X1 version uses EQAA and PS4 version features temporal AA?


When someone posts a 60 fps comparison vid, I'll make my judgement of the devs. ;)
Does DF upload the videos at 60 fps? There is no indication that they do for now, I think. Quite a few games run at that framerate nowadays.
 
They stated that the game uses EQAA, but I still wonder what kind of AA they use. I mean..., are both consoles featuring the same AA? Or is EQAA some kind of temporal AA? Or is it maybe that X1 version uses EQAA and PS4 version features temporal AA?

EQAA is a variant of MSAA. It's basically Coverage Sampling AA if you go by nVidia terminology.

"4x" 2x EQAA is 2xMSAA, but uses can use the same amount of coverage samples as 4xMSAA i.e. Stores 2 colour & depth samples, but it uses 4 coverage samples instead of 2 to help calculate the result. Coverage sample positions are different from 4xMSAA though.

Performance costs a bit more than regular MSAA as well.


Does DF upload the videos at 60 fps? There is no indication that they do for now, I think. Quite a few games run at that framerate nowadays.
Fairly certain they started doing that already (for the games without 30Hz lock).
 
Last edited:
EQAA is a variant of MSAA. It's basically Coverage Sampling AA if you go by nVidia terminology.

"4x" EQAA is 2xMSAA, but uses same amount of coverage samples as 4xMSAA i.e. Stores 2 colour & depth samples, but it uses 4 coverage samples instead of 2 to help calculate the result. Coverage sample positions are different from 4xMSAA though.

Performance costs a bit more than regular MSAA as well.



Fairly certain they started doing that already (for the games without 30Hz lock).
You are basically confirming that EQAA is not a temporal AA. Which leads me to believe that the developers say they use EQAA but they don't specify which platform, while they admitted in a different post that the "temporal AA" would cause issues with the blur, exceeding the MB they wanted to allocate for those graphical operations.

I don't see the point of using EQAA if it's costly. Sure the IQ is amazing and for a game running at 60 fps it is even more meritorious, and many sites have acknowledged that, in fact, saying that it is the best looking racing game of this generation.

cars1_qc6z.jpg




cars2_apjc.jpg


cars9_9chq.jpg


cars11_99p9.jpg



MSAA and FSAA were usually very costly back in the day. But again the point is that they stated EQAA is used but then they also talked about temporal AA. Quite confusing, actually.
 
You are basically confirming that EQAA is not a temporal AA. Which leads me to believe that the developers say they use EQAA but they don't specify which platform, while they admitted in a different post that the "temporal AA" would cause issues with the blur, exceeding the MB they wanted to allocate for those graphical operations.

I don't see the point of using EQAA if it's costly. Sure the IQ is amazing and for a game running at 60 fps it is even more meritorious, and many sites have acknowledged that, in fact, saying that it is the best looking racing game of this generation.

Well, it's just more expensive than regular MSAA, but of course, 2xMSAA might have been essentially free for them since they're only performing the resolve at certain points of the rendering pipe. Of course, that means it's prone to breaking easily and it doesn't address any shader aliasing, particularly reflections...

MSAA and FSAA were usually very costly back in the day. But again the point is that they stated EQAA is used but then they also talked about temporal AA. Quite confusing, actually.

What's confusing is they mentioned a bunch of things that were addressed after the original DF article, but the shipping version does not appear to feature them, so maybe it's a future patch they have in the pipe?
 
You are basically confirming that EQAA is not a temporal AA. Which leads me to believe that the developers say they use EQAA but they don't specify which platform, while they admitted in a different post that the "temporal AA" would cause issues with the blur, exceeding the MB they wanted to allocate for those graphical operations.

I don't see the point of using EQAA if it's costly. Sure the IQ is amazing and for a game running at 60 fps it is even more meritorious, and many sites have acknowledged that, in fact, saying that it is the best looking racing game of this generation.

cars1_qc6z.jpg




cars2_apjc.jpg


cars9_9chq.jpg


cars11_99p9.jpg



MSAA and FSAA were usually very costly back in the day. But again the point is that they stated EQAA is used but then they also talked about temporal AA. Quite confusing, actually.

They didn't say they exceed any allocation. What they say they did was reduce the "motion velocity" setting because they say, along with the temporal AA they used, this would cause too much blur as their AA solution already provides some form of blur (as if they care about the IQ) They state they are using the same motion blur algo, with the same number of samples, and the programmer "proved" to me using a very specific shot showing motion blur on the road because I was claiming there was no motion blur on PS4 but only frame blending). Of course the motion blur was minuscule compared to other platform with similar shots, like the ones you showed here (which show proper motion blur). This design choice is even weirder because they could have completely removed the motion blur from anything other than the road because it is useless:
waIHyNI.png

The camera is moving more than half a meter per 60th of a second (deduced from the length of ghosting) and you can still read individual letters. On Xbox One, there would be a sweet motion blur on it. This is how little they apply motion blur (and they say they are using the same amount of samples, which seems to be a total waste), and somehow I am wrong to think they are using any motion blur at all. They could have turned it off completely as well.
 
Infamous AA ghosting stuff...

I really fear that this game could be another typical case of misused API on PS4. Call it a hunch.

If true, the devs would not even know it, they'd genuinely think they set the AF levels like on XB1 and would still naively think the PS4 game has normal levels of AF, as intended in their code.

Well we'll see...

Anyway on another note both consoles really don't seem to have the same level of AA (XB1 left, PS4 right), or is it because of the fake TAA?

qVub.jpg


And as expected the motion vectors-deprived TAA sucks on PS4: Everything is a big blur even compared to the reassuring industry approved motion blurred XB1 version (XB1 left, PS4 right):

tVub.jpg
 
Back
Top