Shadow Performance/Throttling

I found this in an old thread:


renanse said:

Shadow update throttling and a new class called ShadowGate which allows you to ok individual shadow update and draw calls per TriangleBatch are both in place at work and should make it into cvs before long.  The ShadowGate is useful for times such as when you know that you don't care about updating shadows outside of a given range of your given view, or a certain distance from your camera, or any other such logic you can dream up.

Throttling did indeed help on our game as well, but the real drag was drawing the shadow volumes of things whose shadows did not show up on screen but their shadow volumes did (since they extrude quite far).  Bringing in the extrusion distance can help, but using ShadowGate allowed us to quickly throw out shadows that we knew would never make it on screen due to our camera angle.


I'm at a loss here as for how to throttle shadow updates, other than doing it somehow through the ShadowGate interface implementation?
I need to optimize some shadows, and the things that come to mind is a low poly substitution for shadow rendering, and throttling the updates...

It's not documented properly, but MeshShadows has a public static throttle field.  It's in milliseconds and the default is 20ms, or 50x a second.