Why exactly is deferred rendering faster?
The GPU is still doing the same work per pixel, isn’t it?
Is it because there is less dependency chains as the buffers (albedo, normal, light, emission, …) are independent?
#gamdev #rendering #opengl
@[email protected] @[email protected] @opengl @[email protected]
Usually renderers do a z pre-pass to eliminate overdraw. Real reason for deferred shading to be faster would be lights. In normal forward, every light has to be accumulated for every pixel. And this problem is solved today with clustered shading (aka forward+). Link to paper: https://www.cse.chalmers.se/~uffe/clustered_shading_preprint.pdf
In short, these days deferred shading is slower because of memory bandwidth.