Last passes thread utilization?

So something i’ve been wondering is why is it that that at the end of a render job software will just release threads; why not split the remaining buckets down into ever-smaller “sub buckets” on each remaining pass until the job is completed?

Or is this just not feasible for some reason?

Without getting at all technical: Because it’s not at all easy to write a scheduler + bucket system like that, especially on the GPU. It took Chaos Theory years to get their partitioning system to the point where they were able to do it, and for months after release it was still a buggy feature. It’s also debatable whether or not it’s worth the effort to develop, since the benefits would only show up on the last few tiles of a render. Setting proper tile sizes from the get-go for whatever resolution and computer device you’re using gets you most of the way to this kind of optimization anyway.

Cool. I figured that there had to be some reason since I’ve never run into a renderer that does that, including Arnold or Renderman.