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

Farid

Artist formely known as Vysez
Veteran
Supporter
Image Quality and Framebuffer Speculations for Unreleased Games - Part 1

Why this thread:

The purpose of this thread is to keep the speculation talk, based on dubious materials, out of the main image quality thread (which can be found here).

Basic rules and guidelines:

I'll start right off with the TL;DR version:

TL;DR:

  • Discuss image quality of renders, based on promotional screenshots and other dubious sources.
  • Don't share your opinion on blurred or shimmery surfaces.
  • "It's obvious for all to see" is not a technical argument.
  • Don't waste your time, and ours (especially), telling us nobody cares about this topic. If you don't care, just don't read and pass your way.
  • Talk should remain technical all the time. What you personally prefer is not the topic at all. Start a new thread, or try to fit that in an existing thread. Just not this one.
  • Yes, you're obvious when you stealth-troll. Stay clear from that thread with that stuff or just don't act surprised when you get your posting rights removed.

Full Version:


  • This thread is dedicated for WIP, preview builds and marketing screenshots.

  • The talk must be on a technical level all the time. Spare us the "I actually prefer blurred out edge" lines. Nobody calls you a liar, or disagree, it's just that it has nothing to do with technology matters. At the very least, you could point out to a paper/ongoing scientific discussion on the human eye and brain perception of computer generated graphics... But even then, it would off-topic and would deserve it own tread.

  • You surely have an opinion on the end goal of scrutinising the image quality of games, just as I'm sure you've got an opinion on global warming or the relevance of reality TV shows. It's just that nobody in this thread wants to read about it. I'd suggest you to start a blog on some web2.0 social site and start feeding intelligence agencies databases with your personal information. Or, just go to the General Discussion forum to vent your frustration, if you must.

  • To the fan persons on a mission to prove that one can really have nothing better to do than get internet angry over some video gaming related comment made by some stranger: No, your cunning plan to thinly veil your pathetic love for an expensive consumer electronic toy device over another behind tech-talk, you barely care for, is not obvlious to anyone. Add to that the fact that B3D is not a democracy, so don't except the benefit of doubt when you stealth-troll in this thread.


How-To and other useful explanations:


How to tell the resolution of a backbuffer based on the outputted image:

Someone has yet to take the time to compile all the relative information in a single comprehensive post. So bear with us and track down some of that information in the following posts:

http://forum.beyond3d.com/showpost.php?p=1070774&postcount=273
http://forum.beyond3d.com/showpost.php?p=1070972&postcount=282
http://forum.beyond3d.com/showpost.php?p=1071006&postcount=284
http://forum.beyond3d.com/showpost.php?p=1071084&postcount=292
http://forum.beyond3d.com/showpost.php?p=1065791&postcount=225
http://forum.beyond3d.com/showpost.php?p=1065280&postcount=222
http://forum.beyond3d.com/showpost.php?p=1167507&postcount=29


Frame Buffer Calculations & Memory Consumption

Back-Buffer(s) = Pixels * FSAA Depth * Rendering Colour Depth (may include multiple render targets for deferred rendering techniques)
Z-Buffer = Pixels * FSAA Depth * Z Depth (usually 32-bit depth)
Front-Buffer(s) = Pixels * Output Colour Depth (this is what you see, almost always resolved to 8-bit per component rather than 10-bit or 16-bit)
Total = Back-Buffer(s) + Z-Buffer + Front-Buffer(s)

Note: For Xenos, the back buffer and z-buffer must fit within the 10 MiB (10*1024*1024 bits, 8 bits/byte) to avoid tiling.

Frame buffer formats

RGBA8 = 8 bits for Red, 8 bits for Green, 8 bits for Blue, 8 bits for alpha = 32 bits per pixel
FP10 = 10 bits for RGB components, and 2 bits for alpha = 32 bits per pixel
FP16 = 16 bits for each component = 64 bits per pixel (no support for hardware alpha blending on Xenos)
NAO32 = LogLUV conversion, In-Depth explanation = 32 bits per pixel (no hardware alpha blending)

Example: 1120x585, 2xMSAA, FP10, 32-bit Z-buffer

back buffer + Z = 1120*585*2*(32/8 + 32/8) = 10483200 bytes = 9.9975... MiB

Aspect Ratio

Some of you might be wondering how games like Call of Duty 4 (1.71:1) , Halo 3(1.8:1) , Metal Gear Solid 4 (4:3) can have rendering resolutions that are not 16:9 aspect ratio. All you need to learn about is anamorphic widescreen. The image is squeezed into the rendered resolution but is then stretched to the proper 16:9 presentation.

An example of this squeezing can easily be seen in any Doom 3 engine games (Quake 4/Prey/Quake Wars). If you have one of them handy on your PC (latest version will do), try setting your resolution to 960x720 and in the console type r_aspectratio 1 for 16:9 or 2 for 16:10. All you'll see is the in-game view being squeezed/stretched horizontally. On the flip side, if you render the game at 1280x720 while still in 4:3 mode, the Mancubus just might be the fattest enemy you'll ever see. You can help it lose some weight by setting the game to 16:9. And of course, the isomorphic 1280x720 rendition will offer more image clarity than the anamorphic 960x720.

Multisample AA

Multiple geometry/sub-sample (reddish squares in below images) points with a particular weighting (surrounding the texture sample point, green square in below images) are used to determine the colour of the pixel being rendered. Sample positions can differ between AMD/nVidia. As RSX is based on the G70 architecture, the following sample patterns should apply. In the case of Xenos, it would not be unreasonable to assume that it uses the same patterns as ATI has used in the past (R300+).

The result for 2xMSAA is that there may be one intermediary shade in between polygon edge steps; one sample is found to be within one polygon (e.g. colour A), and the second sample is found in another polygon (e.g. colour B). If both sample points have equal weightings, the resultant pixel would be 50% colour A, 50% colour B. Obvious results are obtained when a polygon edge bisects the shortest imaginary line connecting the two geometry sample points. Hence, 2xMSAA for G70 will look slightly different to 2xMSAA for R520 (see sample positions below).

For the case of 4xMSAA, there may be more shades in between polygon edge steps due to the higher number of geometry samples, resulting in a smoother transition between steps. With equal weightings to each sub-sample, there will be three intermediary shades.

The easiest way to see MSAA level is to have a straight-edged object overlapping another object/background with a high contrast in colours between the two e.g. black object against a white background. Beware of JPG compressed screenshots where pixels near high frequency components (edges) can be distorted.

G70 sample patterns
2xMSAA
http://www.beyond3d.com/images/reviews/g70/2x.png
4xMSAA
http://www.beyond3d.com/images/reviews/g70/4x.png

R520 - sample patterns
2xMSAA
http://www.beyond3d.com/images/reviews/R520/aa_msaa_samp_2x.gif
4xMSAA
http://www.beyond3d.com/images/reviews/R520/aa_msaa_samp_4x.gif

Quincunx AA on PS3 - two geometry sample points are used just like 2xMSAA (so the same storage cost), but it also uses 3 samples belonging to neighbouring pixels (regardless of a polygon edge) to the right and below of the original texture sampled point (see sample pattern image for clarity). The result is a blurring of the entire image, but higher perceived polygon AA. Consider a texture of higher frequency components, lots of different colour patterns. The current pixel's two geometry sample points indicate the pixel is entirely within one polygon. However, the three neighbouring sub-samples are still accounted for in the final pixel, hence the overall image blur.

Quincunx sample pattern
http://www.beyond3d.com/images/reviews/GF4/gf4samplepattern.jpg

Comparison between 2xMSAA/QAA/ & blur filters
http://upsilandre.free.fr/images/Quincunx.jpg

Temporal AA on PS3 (ala Quaz)- odd and even frames are rendered with a half-pixel shift. The current frame is blended with the previous frame to achieve a similar effect as super sample AA for static scenes. In a moving scene, the blending of the odd and even frames produces a persistent blurring of the image. However, this is also advantageous for the edges of alpha-to-coverage primitives, because traditional multisampling does not work*, only super sampling.

*see transparency AA or adaptive AA settings on appropriate PC hardware.


Black Levels & Output

Xbox 360
Standard = 16-235
Intermediate
Expanded = 0-255

PS3
Limited Range = 16-235
Full Range = 0-255

Wii
Undocumented at the moment (feel free to address the issue)



Current list of game rendering resolutions and IQ



Archive of the older threads on the same topic:

Thread 1: The Neverending Upscale Discussion Thread * Summary=#457

http://forum.beyond3d.com/showthread.php?t=43330
Thread 2: Neverending Upscaling/Resolutions/AA etc Thread #2 *Rules: post: #616 *
http://forum.beyond3d.com/showthread.php?t=46242
Thread 3: Neverending Upscaling/Resolutions/AA etc Thread #3 (Rules Post #1!)
http://forum.beyond3d.com/showthread.php?t=48252

Footnotes

Thanks to all the people who contributed to the list, took captures and wrote large parts of the explanations. AlStrong, Quaz51/Upsilandre, grandmaster, dot50cal, etc.
 
GT5 in 2160p

http://www.gran-turismo.com/en/sp/d2788.html

...
Gran Turismo 5 prologue is already in Full HD resolution at 1920 x 1080 pixels, providing the highest resolution possible in today’s TV content. However in this time trial, the Full HD image was increased to twice the resolution both vertically and horizontally (4x the surface area), enabling game play at an ultra high resolution of 3840 x 2160 pixels...

Very cool, but it also begs the question, what res will GT5 ultimately run at?
Maybe PD have settled on full HD but no AA (like some non-race parts of GT5P), or could it possibly be 1920x1080 2xAA...? Hmmmm

Edit - Maybe jumped the gun, "Gran Turismo 5 prologue is already in Full HD resolution at 1920 x 1080 pixels". Except we know it's 1280x1080 2xAA. I guess the PR people are just playing it fast and loose with the numbers.

Mod : Removed the unnecessary article. Only the relevant point need be quoted.
 
Last edited by a moderator:
Is this a multi-screen rendering technology thread? Is it? Read the title!

As far as I can tell, wouldn't this be ok for the topic? If you can hook up 4 machines and play in that res AND the devs are the ones showcasing it, shouldn't we try to determine the actual native res?
 
When we have screenshots from the multi-screen rendering, discussion of rendering resolution will be okay. Discussing what games supported multiscreen rendering is OT.
 
It seems killzone will suport natively 1080i displays, one GG dev gives further explanation on what they did:

from the "The return of Ask the dev" Thread on Playstation Killzone 2 official forum , page 144:

/////////////////////////////////////////////////////////////////////////////////////////////////////////

Question:

"Natively" meaning what, however? The term "natively" is being tossed around at the moment in quite a vague, atechnical way. What we've been hearing all along according to Guerilla is that Killzone 2 still runs at the same native rendering resolution of 1280x720 (720p), but is now capable of being upscaled to 1080i output. Meaning that the 1080i display is upscaled, not "native." This much I am almost entirely certain of, unless Guerilla has achieved a near-impossible, miraculous, unprecedented feat of getting Killzone 2 to run at the ultra-high native resolution of 1920x1080.

The reason the semantics is such a major concern is that overzealous, non-technical fanboys are liable to take your statements regarding KZ2's resolution and run with them. Which in fact they already are doing.

Answer:

Good point well made. I myself am not a tech head, so I'll get out Technology Director Michiel to explain: "we support a resolution which has lower vertical resolution, but displays 1080 lines. this is especially important for people who use 1080i on an older HDTV because the vertical upscaling of 720p can cause blurryness of the image, which is very noticeable, especially interlaced. the mode we use doesn't have that problem and it's slightly heavier than 720p (but not as heavy as full 1080p), but we have enough headroom to keep the framerate stable. It's not like we did full 1080p support, but we did do effort to make sure it looks good for those people who don't have upscalers or very ugly ones."

Hope that helps.


Seb Downie - QA Manager - Guerrilla Games ////////////////////////////////////////////////////////////


Personally it think is very impressive they achieved that on a so-demanding game like KZ2, they even mention there will not be any frame rate compromises.

There are lots of interesting Q&A about technical sights of the game going on that thread.
 
Sounds like 960x1080

All that heroic text just for that! At first his explanation threw me off with the "we support a resolution which has lower vertical resolution, but displays 1080 lines" and now read that as his description of 1080i rather than the rendering resolution. :oops: The rest fits with the 960x1080 though.
 
All that heroic text just for that! At first his explanation threw me off with the "we support a resolution which has lower vertical resolution, but displays 1080 lines" and now read that as his description of 1080i rather than the rendering resolution. :oops: The rest fits with the 960x1080 though.

Didn't he mean "horizontal resolution"?
 
If you think in lines, then 1080 are horizontal lines (rows), and 1920 are vertical lines (columns). It's easy to get confused, but technically I think he's probably correct?
 
If you think in lines, then 1080 are horizontal lines (rows), and 1920 are vertical lines (columns). It's easy to get confused, but technically I think he's probably correct?


But isn't vertical resolution the number of horizontal lines? :LOL:
 
But isn't vertical resolution the number of horizontal lines? :LOL:

Yes, you're right. Anyway, because he uses both the lines and the resolution in the same sentence, it's easy to see where his mind went awry.
 
whoeveraskedthisquestion said:
"Natively" meaning what, however? The term "natively" is being tossed around at the moment in quite a vague, atechnical way.

Couldn't let this go. "Atechnical"? :eek:

What we've been hearing all along according to Guerilla is that Killzone 2 still runs at the same native rendering resolution of 1280x720 (720p), but is now capable of being upscaled to 1080i output. Meaning that the 1080i display is upscaled, not "native." This much I am almost entirely certain of, unless Guerilla has achieved a near-impossible, miraculous, unprecedented feat of getting Killzone 2 to run at the ultra-high native resolution of 1920x1080.

Why does he even admit the (wild) possibility of native 1920x1080 (aka 1080p) when he mentions the output will be 1080i?
 
It's gotta be X x 540. If it was X x 1080, why wouldn't they just claim 1080p like WipEout and GT5P? I think by "lower vertical resolution" they mean just that, and they're interlacing alternating frames like GT4.
 
It's gotta be X x 540. If it was X x 1080, why wouldn't they just claim 1080p like WipEout and GT5P? I think by "lower vertical resolution" they mean just that, and they're interlacing alternating frames like GT4.

Several reasons, two major ones:

1. as a linguist and psychologist, this kind of confusion is easily explained - one half of the sentence uses a different conceptual representation of the same thing as the other half, and they infect each other causing a contradiction.

2. as an empiricist, support for 1080 output has traditionally been done in the form of 960x1080, which has a slightly higher output buffer. Witness games like Uncharted for instance, which don't claim native 1080p support but still use the 960x1080 render buffer. On the other hand, rendering 1920x540 into alternating interlaced frames has never been done on the PS3, like, ever.

But there are several other reasons ... RSX supports upscaling in hardware from various resolutions, but never from, say, 720p to 1080p, always from, say, 960,1280 or even 1600x1280. Also, WipeOut renders 1920x1080 but drops down to various lower resolutions when needed. GT5 Prologue renders the car selection screens in 1920x1080p, but in-game it renders 1280x1080p. But always 1080p, the other resolution never varies. And 1920x540 requires the same amount of bandwidth as 960x1080, so there is no reason to go that strange route for such reasons either.

In short, 540 would seriously surprise me.
 
Pointing out the obvious but KZ2 is a 30 fps game.

If they were rendering interlaced, they would render 960x540 not 1920x540 per interlaced frame.
1080i works at 60 fps and bandwidthwise is equivalent to 1080p@30fps.

So, being able to render 1920x540 every 16 usec means native 1080p support, which would really be a big thing for K2.
 
You guys should read this:

Worse, it created a sour taste in the mouths of owners of older CRT-based HDTV sets, many of which are not capable of accepting a 720p signal at all, and thus only capable of displaying 480i/p and 1080i video signals. If they wanted to run their games in HD resolution, the solution for these disgruntled owners until now was to hope that developers would release their games with 1080i/p support --not a walk in the park for the developer-- or, simply, to buy a new HDTV. As one can imagine, the latter was not the most well-received solution in the history of CE devices.

http://www.beyond3d.com/content/articles/16/

If you read it, then it should be obvious what was meant with this:

Answer:

Good point well made. I myself am not a tech head, so I'll get out Technology Director Michiel to explain: "we support a resolution which has lower vertical resolution, but displays 1080 lines. this is especially important for people who use 1080i on an older HDTV because the vertical upscaling of 720p can cause blurryness of the image, which is very noticeable, especially interlaced. the mode we use doesn't have that problem and it's slightly heavier than 720p (but not as heavy as full 1080p), but we have enough headroom to keep the framerate stable. It's not like we did full 1080p support, but we did do effort to make sure it looks good for those people who don't have upscalers or very ugly ones."

The reason they likely mentioned 1080i, is likely, that there are some users out there, which have displays, which don't support 720p but only 1080i (old CRT HDTV devices for example). So instead forcing those users to use 480i/480p, they added an alternate rendering mode. And that should very likely be one of the following:

960 x 1080p, 1280 x 1080p, 1440 x 1080p or 1600 x 1080p

And all those resolutions have 1080 lines, but less than 1920 pixel ;).

And all those resolutions can be scaled/put out by the PS3 to/at 1080i and 1080p. And that should make the users, which have been mentioned above, able to let their PS3 consoles put out an high definition image on their displays. Even if they don't support 720p. So in this case they could use 1080i on an old CRT HDTV for exapmle.

Furtheremore, it should be unlikely, that they meant 1920 x 540 rendering. Again, it's already explained, just read this ;):

Before the latest SDK update, developers working on PS3 wishing to support 1080p/i in their 720p-native games had very few options available to them. For 1080i, a theoretical possibility (since it’s not supported on PS3) would be to do “field rendering” -- a technique that consists of software scaling the 1280x720 backbuffer into a 1920x540 frontbuffer that will successively render odd and even interlaced lines. The problems with this technique are that it can only output in 1080 interlaced (not progressive), that it has image quality issues, and even more limiting, that it requires the game renderer to refresh at 60Hz (60 frame per seconds) at all times. If the renderer misses a single frame, the output image quality will be terrible. Clearly, field rendering is not an optimal solution for the video output issues of the PlayStation 3.

The only real option available to developers, though, was to upscale the front buffer in software to 1920x1080. This avoids the image quality issues associated with field rendering, and it is also capable of outputting 1080p as well as 1080i signals. Additionally, it is perfectly compatible with games that render at 30Hz, or with unstable framerates (yeah, we know that there’s a few of those out there.)

http://www.beyond3d.com/content/articles/16/

However, there is a 1080p version of the Killzone 2 Helghan Trailer available through PSN.

Maybe someone from this forum will figure out it's native rendering resolution :D?

Or could someone just take some direct feed screenshots of the Killzone 2 Multiplayer Beta with 1080p output and figure out the native rendering resolution?

Seems as if grandmaster could be able to do it:

http://www.digitalfoundry.org/blog/?p=285

;):D
 
Last edited by a moderator:
Any news on Resident Evil 5? I have no idea what the res could be, but it looks like it goes from no AA to 4x MSAA depending on the scene, like in Lost Planet. At least it looks like it from the 360 demo.
 
If we go by Dead Rising and Lost Planet, which also use the MT Framework engine, we can say its up to 720p with up to 4xAA depending on framerate.

Having played the demo it seems quite valid, the game is incredibly sharp, almost looks prerendered in parts.
 
Last edited by a moderator:
Back
Top