righto, i might be able to help on this one.
Games can be either CPU bottlenecked or GPU bottlenecked and both are completely different, however having a cpu bottleneck can cause stalls to the GPU and vice versa.
What i mean is that if your code is running 100% on CPU and you decide to upload to the GPU from code, then it can only upload at the speed of what the CPU has free.
On the flipside, if you are GPU bottlenecked and you need to edit vertices or information on the GPU and this has to be done on the CPU, then for the GPU to download the data for the cpu to edit it can also cause a stall.
These stalls you usually see in engine by popping or stuttering of frames.
Gen2 runs the rendering on all threads, as many available which means more entities in the scene can be processed in the renderer faster however, skyline's main update loop is not yet multi threaded so we have to update all in 1 thread, followed by multi threading on the renderer. This will eventually change and we do have plans for it
Ideally, we want the 1st core to be a render only core, then have a second core used for AI and another for physics. You get the picture
But the biggest problem with multithreading is the race condition where 1 thread is dependant on another thread that has not completed yet...
Im not sure how another bit of software is going to optimise another application or game allowing you to use the cores more efficiently.