Semaphore wait for signal on eGPU, 1~10ms per frame delay, empty scene.

In an empty scene with a cube, I get the following in the profiler. My eGPU graphics card fans spin up to maximum speed.

Is this something I can fix with settings? I tried both Metal and OpenGLCore Graphics API, Gamma and Linear, Forward and Deferred. In all cases, I get the same result: noisy eGPU fans and long Semaphore wait for signal times.

Mac OSX 12.6
Unity 2021.3.8f1
eGPU Vega 64
Unity SRP

(In Unity 2019, the same scene doesn’t even make the eGPU fans spin.)

This either is vsync or just the max it can output. EGPUs can have lag spikes sometimes from my experience.

Enable vsync and the GPU will be more quiet since there is less work and there will be way less stutters

I’ve tried with no vsync, vsync, double vsync, half vsync, tried setting the project to 30 fps also… it doesn’t help. This seems to be a fundamental problem in Unity 2020 / 2021 on OSX. Previous versions didn’t have this issue.

Even games running at full quality don’t make the fans run this loud, and this is just an empty scene in Unity. Effects builds too.

An empty scene will also be heavy if you run it at 1000fps.
Check if it also happens on iGPU to exclude the eGPU as the problem. If there are no spikes there it’s just the eGPU being wonky

1 Like

works fine in Unity 2019

Then make a bug report

If anyone finds this post and has the same question, changing Vsync in code doesn’t help, but turning on this switch does. It’s turned off by default.

1 Like