Different bucket sizes for GPU and CPU
It would be great to have different bucket sizes for GPU and CPU. GPU usually prefers bigger buckets while CPU works faster on smaller ones. Maybe the CPU buckets could be divisions of the size of the GPU buckets. So if the GPU bucket size would be 256, the CPU ones could be 4 buckets of 128px or 8 buckets of 64px etc. If the GPU is done at the end, it could jump in and support the CPU buckets at their bucket size.
As the CPU buckets often remain at the end of the rendering process, they can take a longer time to complete while the GPU is idle. I'm not sure if it's possible to have the GPU to support the buckets in the end or maybe even take them over.
4 Comments
I can only speak for my GPU, but I feel like since there have been optimizations for rendering smaller tile sizes on GPU in 2.8, the GPU being faster on large tiles doesn't apply anymore. On my GTX1080, the BMW Scene (1225 samples) took 1:48:17 on 32x32 tile sizes and 1:55:97 on 256x256 - so it's even faster on 32x.
I think the main issue really is your second statement. Related: Previous frame performance tile order in cycles to minimise GPU stalling in mixed render mode
* @Simon Storl-Schulke * I agree that the difference shrinked over time, but at least with my setup there's still a bit of a difference.
* @andreas * Then wouldn't the better solution be to make that difference even smaller?
Or...the gpu moves on to the next frame while the cpu finishes up the current frame.