Search Issue Tracker
Unity does not use dedicated graphics card when graphics API is set to Metal
1. Open the attached project "Karting.zip"
2. Open the "Karting/Scenes/MainScene" Scene
3. Open "Unity > Preferences > General" and select a dedicated graphics card as "Device To Use"
4. Restart Unity and reopen the project if needed
5. Open the "Activity Monitor" macOS application's "Energy" tab and observe which graphic card is being utilized
6. Open the Game View in Unity
7. Enable Stats to observe the framerate
Expected result: Graphics Card field reads "High Perf." and the framerate increases
Actual result: Graphics Card field reads "Integrated" and the framerate stays similar regardless of what device is being used
Reproducible with: 2019.4.29f1, 2020.3.15f1, 2021.1.16f1, 2021.2.0b5, 2022.1.0a4
1. The issue is not reproducible when using OpenGLCore graphics API
2. Editor.log indicates that the high-performance graphics card is being used
3. When "Device To Use" is set to Automatic, the behavior remains the same
Jan 12, 2022 08:00
Please take a look at the end of this thread
I've added a result of a detailed test on how you can reproduce the real issue we have here, it seems the issue is not that unity does not select the user preferred GPU but it is doing it wrong in some situations that could lead huge performance issues.
Jul 26, 2021 13:11
This is not only about Activity Monitor not showing the correct gpu in use. Unity somehow "thinks" it's using the dedicated gpu but the frame time results tell the opposite in an empty project. I can barely hit 100 fps in an empty project with my AMD Radeon Pro 5500M. Which is not the case when I switch from Metal to OpenGL, I can easily see thousands of fps.
All about bugs
View bugs we have successfully reproduced, and vote for the bugs you want to see fixed most urgently.
- IL2CPP Player crashes when there aren't enough Thread Static Slots
- Articulation Body tree changes behavior after attaching a trigger Collider
- Fatal freeze when playing a VFX made with VFX Graph and consisting many effects
- "Failed to download Build.data.br file" error is thrown when building projects for WebGL with the Compression Format set to "Brotli"
- Documentation Link does not work when the "New Panel Settings" question mark is clicked
Resolution Note (2022.1.X):
Unity respects the systemwide choices and uses the correct device chosen in Preferences.
The behaviour can be observed using 'Activity Monitor' and opening the 'GPU History' window. In 'GPU History' window, you can examine the GPU loads happening on system wide and there it can be verified that Unity does indeed respect and use the Discrete GPU available in the mentioned macbook pro model. Or integrated, when it's chosen from preferences. There is a clear performance difference between the 2 choices given the right GPU load.
In 'Activity Monitor' Energy tab, Applications shown as "high perf" or not, does not indicate which graphics card the given application is actually using. But it would seem that OpenGL applications will be flagged as "high perf". For metal, regardless of which adapter chosen, Intel or AMD, will result in the value being "no".