I would like to improve the performance of a patch by making better use of parallel processing. The main culprit in this case is most certainly jit.desktop, so I'm thinking about isolating it in a specific thread from the rest of the patch (logic, UI, OpenGL rendering...).
I know that in Max 6 each top level patch window gets its own thread but, if possible, I'd prefer for the application to be in just one patch file.
I was thinking about using poly~ (with just 1 voice) as an alternative. I just read in the poly~ documentation that "parallel processing enables the use of multiple threads to run audio processing for all patcher instances. If it is disabled poly~ runs all patcher instances in the audio processing thread". I've used poly~ before with jitter, but does this mean that poly~'s multithreading implementation is only useful for audio?
If so, are there other suggestions? On a side note, I'd love for the [patcher] and [bpatcher] objects to have a simple checkbox on the inspector: "separate thread" or something like it. This way, everything inside it would get its own thread, like a top level patch! Would it be technologically feasible? It would certainly be practical...