I did a basic test where the simulation does not have enough frames to accurately solve the movement of a sprung mass (spazzing some circles out on a spring with low damping and high constant)
I then compared acceleration graphs of the two circles flying around at 1000+ m/s and bouncing into the ground.
It seems that the sprung mass with foceDirectSolve == True is MORE stable and reduces its speed, which is correct since both springs have slight damping.
The other sprung mass with forceDirectSolve == False is UNSTABLE. Its velocity is still increasing even though its damping is a positive value to over 3x the velocity of the other in the same frame.
We're talking extreme cases but on a micro level it adds up because the process is the same. Hopefully I didn't waste our time figuring this out. I have long been familiar with the pitfalls of forceDirectSolve == False springs with high constants and/or damping, so I know exactly where to look.
Me too, I have several other versions of this engine as well, but unfortunately I had to make stroke as small as possible to achieve the high RPM. Real life engines rev higher when their stroke is reduced as well. I will upload the original version.