2
$\begingroup$

I have a machine with 2 GPU's. One is not great, but has 3GB of ram, the other is much better, but only has 2GB. I currently have a scene that is using around 2.5GB at the beginning, but the scene losses complexity as time goes by. Is it possible to tell blender to use my 3GB GPU at the beginning, then, once the complexity goes below 2GB, have the other card kick in as well? Or am I completely misunderstanding how blender uses vram?

$\endgroup$
  • 1
    $\begingroup$ From what I understand about GPU's and Blender, If you have 2 different GPU's with different size ram, then Blender will only use the ram of the lowest card. In your case Blender will never use 3GB GPU it will only see the ram of the lowest card (2GB for you). You would have to disable the 2GB gpu for Blender to recognize the other card with 3GB. (Not to say Blender wont use both cards to render, it will but the max ram it will see is 2GB (in your case). $\endgroup$ – icYou520 Dec 19 '16 at 23:26
1
$\begingroup$

Alternative solution to switching GPUs

Use render layers! Just put foreground objects in a layer and background objects in another, render (making sure you enable transparency), then combine the layers using the built-in compositor. This way you can also render a layer with more samples then the other, instead of rendering everything with high samples.

$\endgroup$
0
$\begingroup$

Not natively, no, at least not through the GUI, as far as I know.

You might be able to do that with command line options for background rendering, or through some custom Python scripting though.

If you want a quick out-of-the-box solution you can look into the commercial addon Render+

It is a payed addon (not too expensive for what it does, about $20) but it should be able to do what you want directly through the GUI without any need for scripting or command line options.

You can set up batch render jobs with custom computing devices.

$\endgroup$
  • $\begingroup$ How complicated would the script need to be? I'm not a coder by any stretch of the imagination! I'm not seeing anything like this inside of Render+. I might not be looking hard enough though. $\endgroup$ – Daniel Oct 19 '16 at 3:42
  • $\begingroup$ I'm not a coder myself either, so can't help much there. Command line options are relatively simple and straightforward, they are intentionally kept simple, if you need anything else you are encouraged to do it through Python scripting API. If you seen the newly added features in the 1.0 release GPU and CPU selection was added. You will have to set up two different batch jobs for each separate computing device though, it can't be switched mid job as far as I know $\endgroup$ – Duarte Farrajota Ramos Oct 19 '16 at 3:55
  • $\begingroup$ Also, not sure if it was clear, but setting up the switch between computing devices would always be a manual thing, in any of the solutions, never an automated one, so it would always take some guessing on your part at witch point to choose which GPU $\endgroup$ – Duarte Farrajota Ramos Oct 19 '16 at 3:57

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.