dolherin opened this issue on Oct 26, 2010 ยท 57 posts
nruddock posted Tue, 02 November 2010 at 5:05 PM
Quote - In cloth simulation however, moving a vertex does effect the calculation of other vertices thanks to stretching and sheering, and this looping calculation limits the multi-threading severely at the algorithmic level. Currently 2 to 4 simultaneous threads might be the limit. A complete new algorithm (be my guest) might bring us 8, but thats really it.
The force calculations involved in cloth simulation are simpler than for molecular dynamics (springs, oopb, gravity, constraints, no long range forces) so the parallisation should be easier provided the distribution of vertices to threads/processors is reasonably done.
The "no long range" forces is important, as that allows division into a larger number smaller chunks, the limiting factor being the overhead of exchanging data between chunks.
This is the standard tradeoff in parallelising code, and in this case, I'd expect the optimal number of chunks to be much higher than 8 (given that most dynamic cloth has multi-thousand polys).