Search Issue Tracker

By Design

Votes

1

Found in

2019.4

2020.3

2021.1

2021.2

2021.2.0b2

2022.1

Issue ID

1352465

Regression

No

Unity does not use dedicated graphics card when graphics API is set to Metal

Metal

-

Reproduction steps:
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

Notes:
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

  1. 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".

Comments (2)

  1. HofiOne

    Jan 12, 2022 08:00

    Please take a look at the end of this thread

    https://forum.unity.com/threads/macos-not-using-discrete-gpu-no-matter-why-i-do.1133725/#post-7800495

    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.

  2. ay_ahmet

    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.

Add comment

Log in to post comment

All about bugs

View bugs we have successfully reproduced, and vote for the bugs you want to see fixed most urgently.