Skip to main content
1 of 2
MickLH
  • 2.8k
  • 20
  • 26

Your problem is not related to deferred shading whatsoever, you need to implement the basic core elements of a renderer before you try to speed up some specific part.

When you have finished with what concept3d has explained, if you actually find that you need to optimize the deferred shader itself (as opposed to the whole rasterization pass) you can implement Tile-Based Deferred Shading.

If you are not limited by the number of dynamic lights you should consider why you are using deferred shading at all, but if you are then you will want to try the optimization that made Battlefield 3 possible. (They hint to it in slide 10 of their public PDF: http://dice.se/wp-content/uploads/GDC11_DX11inBF3_Public.pdf)

I'll see if I can release some documents I have from DICE when I get back to California. Until then, this persons blog explains the simple concept succinctly: http://www.hmrengine.com/blog/?p=399

MickLH
  • 2.8k
  • 20
  • 26