Currently my DirectX graphics engine submits all draw commands in a single, large CommandList. I want to paralellize my CommandList recording to improve performance on CPU side, but I'd have to somehow divide my whole chain of draws into smaller pieces and feed them to recording threads.
I suspect, plain simple "20 draws per list" or so would be suboptimal, if we had e.g. 21 draws for a given pipeline state. So something more clever should be divised. Or am I wrong?
What would be general guidelines for grouping the commands?