I believe most of us came to issue with Monogame using integrated GPU by default. Most of us came to conclusion that forcing High power GPU to be set by Monogame application is… let’s say problematic. After that most of us came to conclusion that it would be nice to at least list all GPUs and inform users to set proper one through control panel. After which we found out that GraphicDevice wont let us do it (or maybe I am stupid as hell). Anyway this solution works:
Ofc it is not cross platform but it might help to some ppl.
I remembered this incorrectly. This is the case for OpenGL, but with DX it’s easy to pick an adapter. This is currently not done, but i think it would only require a single-line change in MG
The change is to pass the underlying SharpDX Adapter of GraphicsDevice.Adapter to the CreateDevice call (in SharpDX this is the Device ctor).
To actually pick the Adapter as an MG user:
Find the one you want using the GraphicsAdapter API
Respond to the PreparingDeviceSettings event of GraphicsDeviceManager
Set the Adapter in the GraphicsDeviceInformation of the event argument in the handler