LaurieA opened this issue on May 09, 2012 · 377 posts
bagginsbill posted Mon, 28 May 2012 at 6:25 PM
The optimal number of threads is 8, unless you are swapping, then it is less than 8.
There's no simple answer. If you can't hold 8 copies of your scene buckets in memory, then 8 is not optimal. If you can, then it is.
The total rendering memory is going to depend on many things. To speak in generalities, the minimum shading rate determines (inversely) how many micropolygons you will be holding in a bucket. The bucket size (squared) determines the dimensional area of the bucket. Total micropolygons in RAM during rendering is proportional to
R = (bucket size) * (bucket size) * (number of threads) / (min shading rate)
So you have 3 things that affect your total RAM, R, generally speaking. And, generally speaking, when
R < your total physical RAM
Then you render much faster than otherwise. When R becomes greater than your total physical RAM, you will thrash and you will experience an enormous reduction in render speed.
There is no magic formula. Perhaps you will get R low enough with:
6 threads and 32 pixel buckets and MSR=.7
or
4 threads and 32 pixel buckets and MSR=.4
or
8 threads and 16 pixel buckets and MSR=.8
Which of those is optimal? I can't say. It depends on whether you really need MSR below .5 or not. If so, then #2 is best. If not, I suspect #3 is best.
Note that I have no idea what the equivalencies are. It may be that .1 MSR is way more of a factor than 1 thread.
But #1 may be a good compromise.
And if you lose a couple lights or props, maybe all of those are stupid.
Renderosity forum reply notifications are wonky. If I read a follow-up in a thread, but I don't myself reply, then notifications no longer happen AT ALL on that thread. So if I seem to be ignoring a question, that's why. (Updated September 23, 2019)