Cycles GPU+CPU rendering slower than GPU alone (old CPU)

I did render time comparisons and noticed Blender 2.8 renders slower in GPU+CPU mode than with GPU alone.

I took closer look to problem and realized at first scene renders fast with GPU, but at the end 3 last tiles are rendered forever on my slow CPU.

This seem like bug to me. If GPU have nothing to do it could aswell try render same tiles as CPU to see which one will finish faster?

CPU: i5-750
GPU: GTX 1060

You must render with lower tile numbers when using both such as 32.
image

1 Like

Each tile in the scene is rendered independently, so once the GPU finishes all its tiles it has to wait for the CPU to finish its share of tiles. You can adjust the size of the tiles to be smaller so that the CPU will finish around the same time as the GPU, but tile sizes are a trade off: CPUs tend to do better with small tiles, GPUs tend to do better better with large tiles. If you want to use both you’ll have to find a size that strikes a balance.

Small tiles are not good solution because this slows down too much the GPU rendering, it’s faster to render on GPU alone. Reducing threads to 2 seems also be one way reducing the problem. Maybe combining these both can make GPU + CPU rendering faster, I need to try.

I still feel core of problem is the way how cycles behaves. You can reduce problem, but waiting for cpu will still cause slowdown and I imagine here would be place for easy fix to improve many render times.

I never use cpu+gpu. Its always slower than gpu alone and I feel using both was made for people that have crappy rigs.

To my suprise I was able to find sweet spot (16x16) where GPU and CPU work perfectly together. Didn’t expect small and large tile size be equally fast on GPU especially when size between is slow.

GPU:
256x256: 42.91s
64x64: 47.83s
32x32: 43.84s
16x16: 42.92s

GPU+CPU
256x256: 3min 31s
64x64: 55.74s
32x32: 43.84s
16x16: 40.63s
10x10: 47.06s

1 Like

Small tiles are rendering fine on GPU for quite a while now. Brecht fixed it some months ago. :slight_smile:

Really? I always get at least %25 speed up when I use a proper tile size, which can depend on the scene. I am on i7 8700k (4.9ghz) + 1070

It might be that your coolers/fans are not working well since both will draw more power and heat up more than individual cpu or gpu rendering.

Yes, I think i found sweet spot. Temperatures are fine. Seems like my CPU is just that slow it is not much use at all in rendering, lol.

I did measure how big % of picture CPU alone renders in 43 seconds, and it’s close enough, so I think it’s now working fine.