Jump to content

I am looking for an Unigine API to designate computer's main GPU.


photo

Recommended Posts

Hi.

I am looking for an Unigine API that can control the users' GPU.

My project team recently found the problem on our application that some users' computers using its embedded GPU instead of its external GPU when they are using our application.

So, I am looking for the way of the users computers to use its external GPU when it uses its embedded GPU during the run of our application. 

I have been trying to manipulate GPU controls with some DirectX APIs, but there are some problems on applying it to our application.

So, I am trying to find API from Unigine.

Is there any Unigine API for designating the main GPU for running an application?

Thank you for reading.

Link to comment

adgsf432

There is no such method, because we can't possibly know how the drivers are set up on the end-user PC. Intel integrated GPUs drivers sometimes can control how the discrete GPU will act.

The situation is getting worse when you are deploying C# applications, since there is literally no access to the discrete GPU options like we have in C++ (good example with nvidia here: http://lucasmagder.com/blog/2014/05/exporting-data-symbols-in-c-for-nvidia-optimus/). 

Engine is always trying to select the discrete GPU on it's own. For the Windows-based apps you can explicitly control the GPU you are launching at via engine command line: -video_adapter <id>. You can check the console or engine log file to check the id you need to pass on start-up. You also can see which adapter is being selected:

---- GPU Detection ----
GPU 0 Active: NVIDIA GeForce GTX 1060 6GB 6052 MB
GPU 1		: Microsoft Basic Render Driver 8175 MB

Active means that this adapter is being selected as default.

Thanks!

  • Like 3

How to submit a good bug report
---
FTP server for test scenes and user uploads:

Link to comment
×
×
  • Create New...