It'll be highly dependent on the game. Unlike foveated streaming the implementation of foveated rendering could mean many things. Actually rendering at a lower resolution in areas you aren't actively looking is probably the most complicated approach because it seems like you'd have to render two times (low res + high res) to get the desired effect.
> Actually rendering at a lower resolution in areas you aren't actively looking is probably the most complicated approach because it seems like you'd have to render two times (low res + high res) to get the desired effect
In the newer implementations, you can split the display into tiles, and render each tile at a different resolution, so it's not that bad. A bunch of the intermediate rendering targets are already rendered at reduced resolution, so you won't see a full 4x speed up in the low-res regions, but you should be able to achieve a ~30% overall speed up with modern foveated rendering.
The framebuffer that you are filling out is still at native resolution, but while computing that frame buffer you can do many of the steps at reduced resolution. For example, instead of evaluating the pixel shader code for every pixel, it could evaluate once for a block of four pixels in the reduced resolution region and use the result for all four.
It'll be highly dependent on the game. Unlike foveated streaming the implementation of foveated rendering could mean many things. Actually rendering at a lower resolution in areas you aren't actively looking is probably the most complicated approach because it seems like you'd have to render two times (low res + high res) to get the desired effect.
> Actually rendering at a lower resolution in areas you aren't actively looking is probably the most complicated approach because it seems like you'd have to render two times (low res + high res) to get the desired effect
In the newer implementations, you can split the display into tiles, and render each tile at a different resolution, so it's not that bad. A bunch of the intermediate rendering targets are already rendered at reduced resolution, so you won't see a full 4x speed up in the low-res regions, but you should be able to achieve a ~30% overall speed up with modern foveated rendering.
That's really cool to know, thanks for sharing!
The framebuffer that you are filling out is still at native resolution, but while computing that frame buffer you can do many of the steps at reduced resolution. For example, instead of evaluating the pixel shader code for every pixel, it could evaluate once for a block of four pixels in the reduced resolution region and use the result for all four.