0
$\begingroup$

I have a scene with around 7 million faces (triangles only). The scene seems to fit on the GPU, given that I see >95% GPU utilization in the task manager when I am viewing the rendered viewport.

However, the final render takes ages to complete and the GPU usage is only 5% (during the render) as opposed to over 95% (during viewport). Conversely, the CPU usage during render is pinned to 100% while it is only 9% when viewing the viewport.

Idle for the CPU is around 1% while idle for the GPU is around 0%.

When I force Blender to only use the GPU for rendering (by disabling the CPU in the preferences), it actually uses the GPU just like in the viewport. However, in this case, I do not have the CPU helping out the GPU (CPU is around 9% again). Is it possible to use both for the final render?

Specs:

  • Blender 3.5
  • Windows 10
  • Ryzen 7 1700 + 16GB DRAM
  • AMD Vega 56 (8GB VRAM)
$\endgroup$
3
  • $\begingroup$ windows 11? having just set up a new laptop with separate GPU: I suggest "Setup :: System :: Display :: Graphics :: Change Default" and enable both Hardware-accelerated GPU and Optimization for windowed games. Also be sure you have the latest GPU driver installed via your windows system. $\endgroup$
    – james_t
    May 2, 2023 at 15:41
  • $\begingroup$ The title was quite misleading, I changed it to make it clear that you are trying to do Hybrid rendering, not GPU. $\endgroup$
    – L0Lock
    May 2, 2023 at 16:36
  • $\begingroup$ @james_t As written in the question, I use Windows 10. The weird thing is that it works fine during viewport, but switches to only CPU during render $\endgroup$ May 2, 2023 at 16:44

1 Answer 1

0
$\begingroup$

Bear in mind that, while it is possible to have smaller rendering times when using both your CPU and GPU for rendering (hybrid rendering), it isn't always the case. It depends on your hardware, and also what you have in your scene.

Three things to look at for your issue:

Render Device Settings

In the system preferences tab, make sure you enabled both your GPU and CPU:

system preferences

If you are on laptop, or have some form of integrated graphics installed, you might also see your CPU graphic unit there in addition to your regular CPU unit. You might want to test each of them individually to see which one is the fastest, and then use the fastest of the two with your GPU, but enabling both of them at once is usually worse than none of them.

Threads

In the properties Editor, Render settings tab, Performance panel, it might help to reduce the amount of CPU cores used a bit so that there is a bit of power left for your machine's normal functioning. In my personal experience, it's often the only way I managed to get better performance when Hybrid rendering. Set the Threads Mode to fixed and change the Threads value. I usually like to use all except one or two threads. Your Ryzen 7 1700 have 16 threads, so using only 15 or 14 could be nicer:

cpu threads

Tiles

Since Blender v3.0 or higher, a new version of Cycles (X) has been implemented. Before that version, managing the tile size was important for better performances. Although using a tile size of around 256 to 5112 depending on the GPU was often faster in Hybrid rendering than using small tile sizes, this is now a completely obsolete notion with Cycles X.
Now, aside from a few exceptions, you should not split your render into tiles (hence the default tile is now 2048).

$\endgroup$
5
  • $\begingroup$ Thanks, I had the preferences set correctly, otherwise the viewport wouldn't have used the GPU. But I tried your trick with lowering the threads from an automatic 16 to a fixed 14. For my test render, the GPU alone took 3:07 while the GPU + CPU (14 Threads) took 3:55. I'm not sure what to conclude from this. Looking at the task manager, it seemed like the GPU only started running after around 1-2 minutes. After that, the speed was roughly identical to "only GPU", while using both devices. Very weird. $\endgroup$ May 2, 2023 at 17:03
  • $\begingroup$ I'm not an expert in how the rendering process is done, but to my knowledge, when you start rendering there is a form of "initialization time", where Blender bakes BVHs and loads what he needs into the RAM and VRAM. This take time, and if I'm not mistaking is more intense to do when you use both CPU and GPU at the same time. Hence maybe that extra slow time at the beginning. $\endgroup$
    – L0Lock
    May 2, 2023 at 21:03
  • $\begingroup$ And again, not every hardware configuration nor scene will be actually faster by using hybrid rendering. Personally i have more success when making somewhat lightweight animation renders, but as soon ass I do a heavy scene or a still frame, the difference is either negligible or worse, while the extra heat and power bill is always worse. $\endgroup$
    – L0Lock
    May 2, 2023 at 21:09
  • $\begingroup$ The initialization time is neglegible, it only takes around 3 seconds until it starts rendering (not many textures and fairly simple materials). To me it seems like the GPU started kicking in only from the second 2048px tile onward (4 tiles and each is around 40 seconds with the GPU only)... $\endgroup$ May 2, 2023 at 22:12
  • $\begingroup$ I haven't seen that since Blender 3.0 :o Maybe try the menu Help > Report A Bug. Might not be one, but it costs nothing to make sure. $\endgroup$
    – L0Lock
    May 2, 2023 at 22:22

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .