Cycles viewport rendering update rate much slower on CUDA GPU compared to CPU

Hi,

is there any reason Cycles’ update rate is so much slower on CUDA GPU compared to CPU? I have quite old i7 5930k which is substantially slower than my GTX1080Ti (about 1/4th of the performance in Cycles), yet the CPU is much more interactive when running Cycles as viewport renderer:

If not faster, shouldn’t the much more powerful GPU be at least on par with CPU when it comes to viewport render update rate?

Hi, the GPU blocks itself as it have to render and render the viewport.
If you stop moving the GPU render much faster samples per second.
You can try to connect your display to your Intel iGPU for testing, it should be fast enough to drive the Blender UI. I was working with i5 3570K HD 4000 and UI was super smooth with GTX 760 for render and HD 4000 for display.
Or buy a cheap card for display, GT 720 or something.

Cheers, mib

Well, the thing is I’ve seen quite a few other GPU renderers that had much better update rates. I don’t think it’s the limitation which can’t be overcome. No one is going to use viewport to render finals anyway, so I would be fine sacrificing like 10-15% of GPU performance in favor of higher interactivity when using viewport rendering specifically (not the final image viewer rendering).

Iirc there was a patch for it already but got problems with some older cards or something and got never finished.
I am also Octane user and know it is possible to render on GPU and work further on your system without much lagging.

Cheers, mib

Have you tried lowering the Start Pixels setting when rendering with the GPU?

startPixels

On my system this brings back the interactivity while tumbling the 3D View during a GPU render.

One note: The GPU does render faster than the CPU on my system. The lag is only with the first samples that are taken, which means all the time as long as you tumble. When you let go of the mouse and look at the rendered samples count, is the CPU faster or the GPU?

That’s not the point. My GPU is about 4x faster than my CPU in Cycles. So there’s no reason it should update slower at the same start pixels value.

Perhaps there is some difference between rending on the CPU vs GPU. For example, the GPU needs to be loaded before calculations can start. That introduces a certain overhead.

Just once, on initial scene parsing (when you first switch to rendered mode). Then it’s just about updating camera position and redrawing framebuffer.

There are reasons this is slower because the GPU has higher latency than the CPU, even if it has more throughput. There is room for optimizations here, it’s just not automatically faster.

3 Likes