Bird wrote:In my own test I could make 100,000 bunny instances using 16 threads without any problems.
hikes,
on the cores, the engine is set up so that it only uses no more than have the hardware Theard in the systems. so in you case it will be using 12 cores I guess.
I found that when maximizing the tread just for one task, on average you get bad diminishing return,
and I think the reason is that since the tread a very balanced,
all eh tread are doing more or less the same amount of work,
so when one tread finishes it task, it has to wait idle for the rest to complete.
the effect of this is that it is the slower thread that determine the speed of the engine.
so if a program assign all as many or more thread as there are cores in the system, you get the effect that the OS preempt at random some tread almost every tick, and since all thread are expected to complete it task, is one slow down, all the other also slow down by the same amount.
so it is good to leave thread to the OS and the rest of that app to do thier work.
Bird wrote:I sent the instance count to 1000 in the test I submitted because if I set it much higher then the EXPECT_NEAR test would fail. I'm not sure why that is happening.
yes that's something that has been in my sight for some time.
the problem is that when the engine Detert free falling bodies, it takes a shortcut and using teh same old simplicity integrator instead of the RK4.
I am going to fix that issue tonight. It has been bothering me for some time.