CStrauss opened this issue on May 09, 2011 · 13 posts
bagginsbill posted Tue, 10 May 2011 at 6:43 AM
(Reposting my last post on this topic.)
Increasing bucket size sometimes makes render time go up, and sometimes go down. A graph of the render time versus bucket size would be U shaped.
At very low bucket size, you need a lot of buckets, and this makes the render take longer. This is because the cost of setting up and tearing down a bucket costs some time since it has to examine all of the polygons to see which ones belong in the bucket. If you have a small bucket size, then there are a lot of buckets to build and destroy and you end up examining the entire scene an enormous number of times.
At very large bucket size, you don't need so many buckets, but the cost of rendering one goes up. A bucket is like a miniature scene. If the bucket is bigger, the miniature scene is bigger and everything that must examine all micro-polys in the bucket takes longer.
Then you have the worst case - running out of memory. Bigger buckets consume more memory. And if you have a lot of threads, each has its own bucket. If the total size of all simultaneously rendered buckets exceeds the available physical RAM left, then you swap to disk, and everything slows down by a factor of 20.
In between these extremes, there is a relatively flat region where changing bucket size doesn't make any difference. This is commonly in the area between 128 and 256, as long as you have enough memory. But if you run out of memory with 8 threads at bucket size 128, then this will be bad and you should decrease the bucket size.
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)