Upscale vs reconstruction vs native

From what I have seen, its obvious that first party games look better and with less artifacts than other games. That's probably because they are reconstructing from a higher resolution than third party games are atm. Horizon and Days Gone look really good and much cleaner than say, ROTTR. It will be interesting to know what the base resolution of the launch games are.
 
Same as every generation, the numbers war is happening only among a vocal minority of forum dwellers trying to justify the choice they already made.

A good marketing trick to sell video games is showing the games. The average gamer is not confused, because the average gamer couldn't care less about technology.

The game journalists however are very confused because most of them are incredibly technologically illiterate. They need click money, so they need to talk about it to get paid. It's a very sad situation.

Some of them have a brain, and instead of writing bullshit, they book interviews with actual developers to demystify and answer their audience submitted questions. Some know what they are talking about (eurogamer), and others are reading the beyond3d console tech forum to understand more about it.

It's more willful ignorance and cognitive dissonance, there's nothing to be done about it.
Nassim Nicholas Taleb writing on the minority rule comes to mind, lets not underestimate power based on quantity ;)
 
From what I have seen, its obvious that first party games look better and with less artifacts than other games. That's probably because they are reconstructing from a higher resolution than third party games are atm.
Could also be that they've been better targeting the reconstruction solution, because they knew about it earlier and/or Sony's forcing them. So maybe same resolution but better data into the reconstruction engine.
 
Upscalers are also getting better in the future. Bicubic is too simple.

Neural network upscaling shows big promise:
https://github.com/david-gpu/srez

You would get even better results if you fed multiple frames to a neural network. Would become temporally stable. Add temporal jittering and you get subpixel (= higher resolution details). 2x2 lower res rendering + feed 4 last frames to an advanced neural network = awesome 4K output at 1/4 render cost... however that neural net would eat a big chunk of GPU performance (float16 math helps) :)
 
those results are amazing, although the first thing that came to mind with the failed example is NBA 2K face scan.

On a serious note what is the ramifications of such technology given a very similar image degradation is used to give people anonymity in a world where we have to have an image in the news. This can never get back to data that is not there but it can make very educated guesses and get results which are more than adequate at identifying the individual especially if there is a limited sample size such as an employee.
 
Could also be that they've been better targeting the reconstruction solution, because they knew about it earlier and/or Sony's forcing them. So maybe same resolution but better data into the reconstruction engine.
This too. Wanted to say that but I had something on hand to do.
 
Just to easily illustrate how difficult it can be to see checkerboard 'artefacts' of typical contrast at 4K, even with plenty of time to focus on a still-image; most should be familiar with the appearance of dithered transparency at 1080p and lower resolutions. At 4K it's barely visible on a 4K display or downsampled properly to 1080p.

29678718432_e82fff2ef6_o.png

(best viewed 1:1 on a 2160p or higher display, otherwise you still see relative difference)

Watching through the YouTube 2160p VP9-encoded Horizon: Zero Dawn gameplay, the only clear (non-compression-based) artefacts I see are fine aliasing on high contrast edges like dark leaves against the light mist background in slow panning motion and bright holographic effect atop the Tallneck.

Horizon's not quite hitting 30fps consistently yet so reprojection between frames is less accurate than it may ultimately be.
 
those results are amazing, although the first thing that came to mind with the failed example is NBA 2K face scan.
Remind that those examples are 4x4 upsample (16x more data) of very small (16x16 pixel) photos with lots of small details. Reconstructing a human face plausibly is among the hardest tasks. Smaller upsample of 2x2 (4x more data) of common game details (textures, geometry edges) is a significantly easier task. We should see almost perfect (offline) 2x2 super resolution reconstruction networks in a few years (esp when temporal data is taken as input). And real time ones a few years later.

I have been planning to write about neural network temporal AA for some time already, but never got the time. Running your own company taxes your free time (and we have a 1 year old baby in the house as well).
 
Pretty much everything, except that checkerboard/interlace doesn't help texture sampling memory bandwidth at all. You still need to fetch textures according to the mip level of the actual resolution (4K in this case). This is similar to temporal supersampling. Temporal supersampling requires negative mip bias to match resolution of real supersampled image (otherwise the result will be blurry). GPUs (like CPUs) don't access memory one byte at a time. 64/128 byte cache lines are used. Checkerboard touches as many texture cache lines as native, thus texture bandwidth cost is the same.
Great, I finally thought that I had understood a Sebbi post. And then you follow up with this? :)

Let me try again, you save gpu/cpu, memory and bandwith. But textures needs to be at the right resolution, so there is no "savings" in the "subsystem" of required bandwidth for texture ops or memory for storage of texture. Which means you save resources in other subsystems, but not the same amount across the board (pun intended)....
 
Let me try again, you save gpu/cpu, memory and bandwith. But textures needs to be at the right resolution, so there is no "savings" in the "subsystem" of required bandwidth for texture ops or memory for storage of texture. Which means you save resources in other subsystems, but not the same amount across the board (pun intended)....
I need to explain how mip mapping works first. Mip map level is calculated from the difference of texture coordinates (U and V) across neighbor pixels (in screen). The idea is to select a mip level that matches the screen pixel density the best. Basically when you move one pixel to left/right/up/down, you also move one texel in some direction in the texture. If you have a -1 negative mip bias, you sample texels from a more detailed mip level (which is 2x2 larger). Now when you move one pixel in the screen space (left/right/up/down), the texture sampling position moves two texels. Every other texel is skipped over.

GPUs and CPUs access memory by cache lines. Each cache line is commonly 64 bytes. If any byte of a cache line is accessed, the WHOLE cache line is loaded from memory to the cache. Pixels in texture are laid out in area local way (usually some variation of morton order - https://en.wikipedia.org/wiki/Z-order_curve). It is easiest to think about that texture data is laid out in memory as small tiles (this is true for each power of two). In 64 bytes (a single cache line), you can fit 8x8 tile of texture data (1 byte per texel = DXT compression). Skipping every other texel doesn't help you at all. You still hit every cache line (8x8 tile of texels). Thus checkerboard doesn't reduce the texture sampling bandwidth cost.
 
Can I ask a really noob question
I understand X,Y,Z coordinates but U and V ?
That's the traditional way to name texture coordinates. u and v for 2d texture coordinates and u, v and w for 3d texture coordinates. Similarly some people use i, j and k instead of x, y and z for positions.

Apperently u and v where chosen because "x, y and z are already used to denote the axes of the 3D object in model space":
https://en.wikipedia.org/wiki/UV_mapping
 
Back
Top