(Solved )"Fast" and "Fastest" quality settings produce high CPU usage

So I’m running into crazy high CPU usage in my test scene, but only when on the “Fastest” and “Fast” default quality settings in the executable. On any other quality setting it runs at much lower CPU usage.

The problem only happens in the executable, as I tried lowering the quality to Fast and Fastest in the editor to run it and it didn’t happen. Also, it becomes worse as the resolution is lowered ( so at 1080p it’s at 5-10%, but at 800x600 it’s at 40% ). Lastly, and most concerning, is that when the issue occurs I hear a high pitched sound coming from my system that for some reason gets higher and lower pitched depending on where my character looks in the world ( this doesn’t affect the CPU usage though ).

So I run the game at 800x600 on “Simple” quality. CPU usage is 0-4%, no noise, smooth gameplay. I run the game on 800x600 on “Fast” or “Fastest” quality. CPU usage between 30-40%, high pitched noise, though still smooth gameplay.

None of my code is quality reliant, so I don’t think it’s something I’m doing that’s causing it as I’m not tailoring the functionality of my scripts to the quality setting the player chooses.

System Specs:
OS: Windows 7 Pro x64 SP1
CPU: Intel i7 6700k stock clock speed
GPU: EVGA GeForce GTX 1070 FTW
RAM: Corsair Vengeance LPX DDR4-2133, 4 sticks, 32GB total
Unity Editor: 5.6.0f3 x64

My graphics drivers are up-to-date, and the Unity Profiler doesn’t show any problems ( nor do I experience them ) while running in the editor.

Images of the problem and the scene I’m testing in: Imgur: The magic of the Internet

If your application isn’t waiting on anything, it’s going to run along happily at full speed. I imagine your app is not waiting on vsync. Go into quality settings and turn it on.

Are you limiting the frame rate in any way? If the GPU renders a frame in much less time and Unity isn’t using vsync or something, Unity will immediately go on to calculating the next frame. So yes, rendering 300 fps vs 60 fps is going to use a lot more CPU.

The noise you’re hearing is probably coil whine in your GPU. It’s also something you hear when rendering something at extremely high frame rates, or at random times, depending on the GPU. There’s nothing you can do it about it, sadly.

Thank you both! That was exactly what the problem was, and looking at the default quality settings it does say that those two settings don’t use VSync, but the rest of them do. I’ve been so used to Unity capping the FPS for me that I didn’t even consider it a possibility, but looking at it now having the fluctuation of CPU usage and higher and lower pitched “coil whine” depending on where the camera was facing makes perfect sense.

Edit: I looked into what coil whine sounds like, and the videos that recorded it sound exactly like what’s happening on my system under heavy load. Sucks that I have it, but it’s very tolerable.