Multiple GPUs - Preferences which one is used

Please note: Should you experience issues with Enscape or your subscription, and in case of any urgent inquiries/questions (e.g. regarding our upcoming licensing changes) please reach out to our dedicated support team via the Help Center or Support button as detailed here.
  • I'm currently running a system with a 3090 + 4090 because I render quite a lot and the more CUDA cores the marrier.

    I noticed that Sketchup/Enscape uses the 3090 and from what I understand there's not yet support for multiple GPUs. But I wondered why it uses the 3090 instead of the 4090 and if there's something I can change so it uses the 4090 besides disabling the 3090 in the device manager.

    I tried to add Sketchup/Enscape to the list of software in Windows 11 where you can set a preferred GPU to use but it seems it's ignored. So I was wondering if there was another thing I could try to use my 4090 in Enscape. I'm not sure what makes Enscape select a certain GPU or Sketchup for that matter since I can imagine Enscape just follows Sketchup along.

    It's not a big deal but I'm always looking for ways to optimize the system for most speed. I can also imagine multiple GPUs get supported at some point since the ChaosGroup has a lot of experience with using all available CUDA cores.

  • Hello! Enscape reads the list of GPUs as reported from Windows and selects the first ones that meet the requirements that we have set. It is a good idea to have a list of GPUs during Enscape start that satisfy the requirements so that the user can select which one they want to use.

    I guess you could try switching the slot of your GPUs on your motherboard to see if that makes a difference in the order they are reported to us. I don't know if it will work though.

  • I guess you could try switching the slot of your GPUs on your motherboard to see if that makes a difference in the order they are reported to us. I don't know if it will work though.

    Hi Ilias,

    Thanks! That makes sense, think a checkbox somewhere in the general preferences would be a nice feature. I'm quite happy I got both cards into one case without turning it into a big heater so I leave them where they are ;)

    The 3090 is in the 1st slot and while I selected the 2nd slot as primary/boot PCIe card Windows does it's own thing I think. Must say that if I run a game for example, it does pick the 4090. That's also why I tried to use those app settings and add the Sketchup/Enscape .exe as a 'game' and change the GPU but with no luck.

    But it's not a big deal and I noticed while using Google to puzzle a bit there it's not always as straightforward on how Windows handles multiple GPUs.

    While I was replying I thought about the OpenGL checkboxes if you right click an executable. They give you an option where you want the OpenGL to render. And it actually worked for Sketchup which switches to the 4090 but not for Enscape. So I thought, let's select the 4090 in the NVidia control panel as device for OpenGL since I think Enscape is based on OpenGL. But it still went to the 3090 so it seems it kind of ignores the other options.

    Thought I put the info here since you can save the work of an extra option if it would 'listen' to the choice people made in the Nvidia control panel.

  • Thanks for reporting your results here!

    The OpenGL check had very little chances of working because Enscape is based solely on Vulkan now (but was based on OpenGL 2 years ago before the ray tracing features were added). The only OpenGL use for us now is for the web standalones. Sketchup's renderer is still OpenGL based so it makes sense that it worked.

    I would recommend creating a feature request based on the directions in here in case this needs UI/UX changes and I will also raise it internally to see if we can find a robust solution that could be done in the background.

    • Best Answer

    After asking around a bit internally, I was informed that there is a workaround that you could try by setting an Enscape startup variable to choose the GPU you want. To do that:

    1. Create a text file named userPre.cfg (not userPre.cfg.txt) at the location C:\Users\your_username\AppData\Roaming\Enscape\userPre.cfg

    2. Edit that file, write the line r_vkDeviceSelectionOverride 0 and save it. This line will select the first GPU reported.

    3. Open Enscape and observe which GPU is used for rendering.

    4. If the GPU is not the one you want, close Enscape (might also need to restart the CAD too), increase the number by 1, i.e. r_vkDeviceSelectionOverride 1, save and try again until you reach the GPU you want.

    Hope that helps!