I suspected as much tbh,
Your suggestion, do you mean have 2 particle systems and (for example) when under cover deactivate the GPU particle system and activate the CPU system? Not entirely sure how i would implement this without having a permanent line trace active from my character checking for a roof.
Did you have a system in mind?