Unity is not using discrete GPU [MacOS]
As I said in the title, Unity is not using the discrete GPU on my Mac which is causing very low fps in Play Mode. I have a 16' MacBook Pro 2019 with AMD Radeon Pro 5500M 4GB. You can also check the attached image for details.
PS: On Unity Editor 2019.4.28f1, If I turn off "Auto Switching Graphics API for Mac" and select OpenGL instead of Metal, Unity uses my discrete GPU and I can achieve high fps values (like 5k in an empty project). But this feature has no effect on Unity versions 2020 and 2021. Event though Unity Editor window has the OpenGL 4.1 label at the end of it's name after I switch to OpenGL Core by disabling "Auto Switching Graphics API for Mac", It doesn't use this discrete GPU and get the same old 50ish fps in Playmode.
- Switched off Automatic Graphics Switching for both Battery and Power Adapter.
- Forced Unity to use discrete GPU through Unity Preferences.
- Used several Unity Editor versions (2019.4.28f1 (LTS), 2020.3.6f1(LTS), 2021.3.12f1(LTS))
None of these helped me out. Please contact me if you have any help or an advice about this topic.
Thanks in advance.
I believe I'm running into the same issue. MacOS 11.6, MacBook Pro 2019. Unity 2020. Unity 2020.2.3f1 seems to use the discrete GPU, 2020.3.19f1 does not. I am only confir$$anonymous$$g this visually, I don't know if Unity is actually using the integrated GPU, it's just extremely choppy.
I can solve it by turning off the Auto Graphics API for Mac
option in Unity, and forcing OpenGLCore above Metal, like so:
But I'd like to be Metal ready for my product
Answer by marcospgp · Sep 09, 2021 at 11:30 AM
Use gfxCardStatus to force MacOS to use the discrete GPU: https://gfx.io/
It seems Unity is not doing this by default.