The easiest way for this is to set the maximum threads in the renderer to the amount of cores you have, minus one.
So in case you have quadcore, then set max threads to 3, leaving 25% CPU resources to other tasks. Works like a charm for me.
A throttle function with dynamic threading and such is likely not feasible I suppose.