So, I got a new laptop with two GPUs, an AMD Radeon and an nVidia RTX. I’m trying to run my projects. Windows decides that my games should run on the integrated GPU. While the performance is OK, it is far from stellar. If I go into settings I can get the game to run on the GPU. The problem is, the performance is terrible. It is less than half of what the Radeon is. I’ve been Googling around, trying different things, but I can’t get the performance to match or be better than the integrated GPU. Other games I don’t have a problem, only with MonoGame. I’ve tried both OpenGL and DirectX. I’m running on Windows 11, if that makes a difference. I look at the task manager and it is running as GPU0 - Copy instead of GPU0 - 3D. Any suggestions on solving this would be apprecaited.
I had this question a couple years ago, but with a Nvidia laptop. Idk if this will solve the AMD gpu problem though. DirectX game not using Nvidia GPU - #2 by TheKelsam
I’ve tried that. I can get it to use the GPU. However, it is in Copy mode instead of 3D and it kills the performance. I’ve followed all of the advice from forums, with no luck. It is just MonoGsme that I have a problem with.
Which output are you using? check your HDMI out, some dGPU’s are intended to use an external monitor… go figure lol, have seen this mentioned here and there lately on LTT and the like…
Alternatively, try disabling the internal Radeon and see if it still displays something… another option could be to mirror outputs and using a headless HDMI adapter…
If you disable the onboard GPU, make sure you have an external display to use the dGPU in case you lose display entirely…
Alternatively, be sure you know how to enter safe mode to resolve any issues.
I’m on a laptop, so the laptop’s monitor. I did try disabling the integrated graphics with the same result, terrible performance on the nVidia card. At this point,I’m going to live with. It’s not worth the headaches. It is just odd that it is only MonoGame that I have the problem with.
Some mistakes in your code causes bigger issue on some GPUs than other, for example draw instanced with instance count 0 will bring newer cards to their knees (literally 0 fps) while running perfectly fine on older GPUs. If you share your project I can take a quick look.
It is any project, even a blank one. For example, with an empty project, I get 6000+ frames on my integrated card and about 1800 on my RTX. That just doesn’t make any sense. I guess I just need to understand what Copy means instead of 3D.
Can you please download FNA and check if it is same there?
Yes, I have the same problem with FNA. Except, it runs fine for a few seconds then the performance drops.
Open Task Manager and click onto the Performance > GPU tabs [In Full View] and you will find Copy in the upper right.
Observe this when the apps run.
From my limited understanding, Copy is a GPU engine type that’s not designed for 3D rendering (even 2D games internally use 3D rendering), so that’s why you’re not getting the performance you expect. As for why it’s using the Copy engine and not the 3D engine like it should, I’m not sure. I looked it up before and found threads on NVidia’s forums posted by people with a similar issue, but I don’t recall encountering a good solution to the problem.
You could try installing/reinstalling the latest drivers for your GPU, that might help.
Have tried this a number of times, as I’ve seen it suggest on the nVidia forums. I’ve managed to get one game to run on the 3D engine correctly. What the difference between it and my other apps I don’t know.
I’ve tried watching the Performance tab on the task manager. The usage on the GPU is maybe 25% on the apps I’m having problems with. This app does 3D rendering explicitly while the others do 3D rendering through sprite batch. I have other 3D apps and they don’t work right either.
It’s a weird problem. Unfortunately, I don’t know enough to help you solve it. It’s too bad that updating your drivers didn’t help. I got the idea from some post or posts on NVidia’s forums as well.