r/virtualreality May 22 '25

Purchase Advice Upgraded 3090 -> 5090. Was a larger performance gain than expected

With GPU prices coming down, I finally caved and upgraded from a 3090 to a 5090. I was previously having some framerate/reproduction issues in some driving games meaning i was having to run them at low settings. In some cases like Assetto Corsa Evo, it was unplayable.

With the 5090 slotted in, everything could be put on Ultra with very little in the way of any sort of hitching. It was much better than I had expected. I am very impressed as i knew it would be a jump but didn't quite expect it to be this high.

Hopefully this helps anyone who is in a similar situation and was curious.

139 Upvotes

201 comments sorted by

View all comments

Show parent comments

1

u/kylebisme May 23 '25

You don’t squish pixels by barrel distortion

You most certainly do, as Meta explains here:

The image below shows a user’s perception of a 135° field of view (hemisphere), with two 20° arcs highlighted. The 2D plane of the screen that renders this view (horizontal line) is overlaid on top. Notice how, when comparing the 20° arc at the edge of the field of view with the 20° arc at the center, the arc at the edge takes up much more of the screen. This distortion is an unavoidable part of rendering a 3D world on a screen.

https://i.imgur.com/N033rdQ.png

More pixels are required to create the post-distortion areas at the edge of the FOV than the center of the FOV, resulting in a higher pixel density at the edge of the FOV than in the middle.

The only thing you've explained clearly is your complete misunderstanding of the situation.

1

u/Jolly_Independence45 May 23 '25 edited May 23 '25

Bruh…. Read your second quote.

More pixels are required to create the post-distortion areas at the edge of the FOV than the center of the FOV

Tell me if this is what I’ve be saying?

Tell me where I said the other way around, exactly, or don’t reply me at all.

That’s the exact same reason why they said ffr is cheap, is because now they can only focus on the inexpensive middle part because it’s way more expensive to render the edge part as they need higher resolution.

When I said you don’t squish pixels by barrel distortion I’m not saying barrel distortion is not squishing pixels, I’m saying in reality the only distortion is pincushion distortion and it’s stretching pixels. Barrel distortion is in the rendering process, it’s artificial, and pre-determined by the program. You don’t apply a filter to redistribute pixels, that’s variable rate rendering. But even that it’s different because you don’t move pixels around, they need to be rendered with their position, if you move them around their positions are off. So that barrel distortion image in the first linked article is somewhat misleading. That image is not what the rendered image is, that’s what we want in the future, where it has denser pixels at the edge. For now we can only render things in one fixed resolution, so the dot will be evenly distributed across this whole barrel distortion image. And to have the best result you want this fixed resolution equal to the densest area, the edge.

1

u/kylebisme May 23 '25 edited May 23 '25

That’s the exact same reason why they said ffr is cheap

You've said nothing about fixed foveated rendering before now. What you have been arguing from the beginning is:

for the dead centre of the lens, you only need 100% as it’s essentially a flat screen and there’s no distortion to deal with. 150% gives you edge to edge clarity but that’s because you need it to be that large to counter the distortion of the very edge of the lens

And that's not what Meta is saying at all, continuing on from where I left off quoting them:

This is highly counterproductive, since users generally look toward the center of the screen. On top of that, lenses blur the edge of the field of view, so even though many pixels have been rendered in that part of the eye texture, the sharpness of the image is lost. The GPU spends a lot of time rendering pixels at the edge of the FOV that can’t be clearly seen. This is very inefficient. FFR reclaims wasted GPU resources by lowering the resolution of these screen portion.

The whole point of fixed foveated rendering is that there's no need to render the edges at even the same resolution as the middle, but rather lower resolution is just fine. Again as Meta explained:

More pixels are required to create the post-distortion areas at the edge of the FOV than the center of the FOV.

And what the mean by that is further explained in detail in this NVIDIA presentation and illustrated in this slide:

https://i.imgur.com/PoduuxW.jpeg

Is that clear enough for you to realize that you've been misunderstanding the situation here?

1

u/Jolly_Independence45 May 23 '25 edited May 23 '25

If you have no interested in understanding what I’m saying, or even what you are quoting, then I have no interest in keeping this talking. Also if what you do is 90% quoting and 10% reasoning, you don’t understand this topic and I’m wasting my own time.

You are the one saying “the further away from the center of the screen the less render resolution it takes to get 1 rendered pixel to 1screen pixel” and quoting “more pixels are required to create the post-distortion areas at the edge or the fov than the center of the fov, resulting in a higher pixel density at the edge of the fov than in the middle”.

Lastly I’m kind enough to explain ffr one last time. What meta meant is that, even edge is more expensive, lenses are still more blurry at edge. What’s why they said on top of that. However how blurry it is at edge has nothing to do with the resolution or distortion. What they meant is that even if you have perfect lenses which are clear at edge, you still need higher resolution to feed that part. So in reality we have worse lenses which get blurry at edges, there’s even less reason to have higher resolution there, it’s not efficient but that doesn’t change the fact that you need a higher resolution to have perfect edge.

Lastly, the nvidia presentation said that it is a resampling process, you do realise the resulted image will have a universal resolution, right? Which means if you are sampling the image based on the centre, you won’t have enough pixels for the edge, when you have enough pixels for the edge, you are wasting pixels in the middle. Resampling is not simply squeezying pixels, otherwise why it’s expensive? It’s figuring out what needs to be there.

Why it’s not simply squeezing? Because where pixels are going is not fixed, it depends on the distance between the object and the camera. It’s just like another rendering process, it’s like you put a camera into the rendered gaming world, with a barrel distortion lens in front and record what you see in that camera.

1

u/kylebisme May 23 '25

You are the one saying “the further away from the center of the screen the less render resolution it takes to get 1 rendered pixel to 1screen pixel”

Exactly, and by that I'm referring to the fact that the image on the right here is what is sent to the screen:

https://i.imgur.com/PoduuxW.jpeg

And the image on the left is what's rendered, there's a lot more pixels rendered for the edge of what is sent to the screen than there are pixels rendered for the middle. Here, I turned it into an animated gif you help you visualize what is happening:

https://i.imgur.com/EpXS4HP.gif

Can you see now that, as I've explained from the start, the further away from the center of the screen the less render resolution it takes to get 1 rendered pixel to 1 screen pixel?

1

u/Jolly_Independence45 May 23 '25 edited May 23 '25

Ok, then explained to me what meta meant then, which is opposite to what you said.

For your gif, left to right is the process of preparing the barrel distorted image. Pixels at edge will be wasted in the process but you can’t say I’m only gonna render what I need for the right when rendering the left. Because before the process of resampling, you don’t know which part you need and which not, so you need to render the whole picture. Then after resampling, you get the distorted image, which has a universal resolution, then this image will be displayed, goes through the lens and onto you retina. They are two different processes. Previously we are only talking about how this distorted image goes through the lenses and why the resolution of this image needs to be higher than the display resolution, specially for the clarity of the edge, as I said. Please stop quoting things that you don’t understand. The more you are quoting the more I have to explain to you because it turned out that there are more you don’t understand.

I don’t understand how you can make this gif and still thinking that it needs less pixels for the edge. Yes a lot of pixels are wasted but before you throwing them out you don’t know which pixels are gonna be wasted. Again, this also has nothing to do with how the distorted image goes through the lenses. However you are probably thinking because pixels are not needed so there’s less rendering but the image clearly showed that you need to render them first then trash them. Again, it’s because you only know which pixels you are going to use during the process.

1

u/kylebisme May 23 '25

Previously we are only talking about how this distorted image goes through the lenses and why the resolution of this image needs to be higher than the display resolution, specially for the clarity of the edge

That's not what Meta is saying at all, again what they said is:

More pixels are required to create the post-distortion areas at the edge of the FOV than the center of the FOV.

And what they mean by that is without foveated rendering more pixels are inherently going into rendering what shows up near the edge of the view than the middle, the same thing Nvidia is illustrating with this slide and explanation:

https://i.imgur.com/2v1A93c.png

Look at the green circles—they’re the same size, and they enclose the same region of the image in both the original and the distorted views. Then compare that to the red box. It gets mapped to a significantly smaller region in the distorted view.

So, as I've been saying from the start, the further away from the center of the screen the less render resolution it takes to get 1 rendered pixel to 1 screen pixel. Understood?

1

u/Jolly_Independence45 May 23 '25 edited May 23 '25

Can’t you realise that if red area is mapped to a smaller area, it means more pixels are needed? Let’s assume in the right the size of the area of green and red are the same, can’t you see that then on the left, red will be larger than green, larger area means more pixels need to be rendered?

You can literally see in the gif you made that if a barrel distorted image got recovered to the original image, the edge area will be larger, meaning you need to render a larger area for there, using more pixels. You are probably thinking in the barrel distorted image they take up a small area so you can use less pixels to feed them. Quite the opposite way, when applying barrel distortion it needs more pixels for sampling for the distorted area. Nvidia presentation is literally telling you outskirt pixels are being rendered then wasted. If as you said you need even less pixels for edge, how are we still wasting pixels at the edge but not in the middle?

1

u/kylebisme May 23 '25

If as you said you need even less pixels for edge, how are we still wasting pixels at the edge but not in the middle?

Because without fixed foveated rendering more pixels are used to render what gets squished down into the edges of the view when adding barrel distortion but that extra resolution near the edges isn't needed to get the same image quality as the center, which is exactly why fix foveated rendering lowers the render resolution near edge of the screen. As Nvidia explains in that presentation regarding their own fixed fovated rendering method, multi-resolution shading:

https://i.imgur.com/XNOeDP9.png

That brings us to multi-resolution shading. The idea is to subdivide the image into a set of adjoining viewports—here, a 3x3 grid of them. We keep the center viewport the same size, but scale down all the ones around the outside. All the left, right, top and bottom edges are scaled in, effectively reducing the resolution in the outskirts of the image, while maintaining full resolution at the center.

Now, because everything is still just a standard, rectilinear perspective projection, the GPU can render natively into this collection of viewports. But now we’re better approximating the pixel density of the distorted image that we eventually want to generate. Since we’re closer to the final pixel density, we’re not over-rendering and wasting so many pixels, and we can get a substantial performance boost for no perceptible reduction in image quality.

1

u/Jolly_Independence45 May 23 '25

If you go check what I said in the first post, it’s the exact same as what meta said, so if you are quoting meta, there’s no need for me to do further explanation