It just means the main thread is sleeping, waiting for a signal from another thread. It’s not actually consuming CPU time. The render thread is working instead, and I guess that at some point this render thread signals the main thread when it is done.
Just in case anyone is stumbling upon this issue in Sep. 2021 (Like I do, lol) and is sitting on a Mac: In my case I just switched to opengl, restarted IDE, switched back to Metal and restarted IDE again and now everything is so fast. Used Unity for months and never knew that this Editor can actually run fast.
In case somebody else is having trouble with the stuttering issue caused by the 400 ms spikes I fixed this issue by upgrading unity from version 2019.1 to 2019.2
I am using 2019.3.7f1 recently and I am having the same problem. I am creating a very simple android game and when I use GTX1050TI as my graphic card it gives about 150fps. But when I switch to a smaller graphic card, it is about 20fps and it is too less for a simple game like I am creating right now. I am dowloading 2020.10b5 right now which is in beta version. I hope that it will fix the problem. I am open to any suggestions. I will share if 2020 version fixed the problem or not. @photonman170
I’m using 2019.3.11f1 and I’m experiencing similar issues.
This dropout occurs only on Android devices and not on iOS.
This may be an Android-specific glitch.
If you have any countermeasures, please let me know.
What exactly IS Semaphore.WaitForSignal? I have the strange situation that I’m looking in a certain direction and as soon as I open up a menu I see that spiking in a sawtooth manner. When I look in a different direction, still at the menu, it’s gone. It’s also gone when I close the menu. So I thought it had to do with a shader combination but then all of a sudden the sawtoothing vanished…
It only happens on Oculus Quest, not in the editor so I do not know how to reproduce
I have the same issue in 2019.4.1f1 LTS… Semaphore.WaitForSignal is more than 60% of total, and I have huge framedrop for Android phones, especially when it’s a phone with low specs. It remains simple mini-games and I can’t find why it’s that buggy, I hope we’ll have an answer and it’ll be fixed soon!
In my case it was due to Multithread Rendering. After disabling Multithread Rendering in Player settings a Semaphore.waitForSignal not appeared in profiler anymore.
By the way it doens’t fixed the issue with CPU performance and enabling such option looks reasonable for devices with multiple or advanced (more than 1 thread) cores. But at least it helped to face with another errors for investigation the root cause ^^