- Home /
VSync Every Second Blank Stays at 60 Instead Of Dropping To 30
If I set VSync to "Don't sync", the framerate is often very high (in the hundreds), as expected.
If I set VSync to "Every VBlank", the framerate stays around 60, as expected.
But, if I set VSync to "Every Second VBlank", the framerate still stays at 60, instead of dropping to 30.
What the hell?
I'm using Unity version 4.5.3f3
Answer by sniper43 · Jan 16, 2015 at 02:01 PM
I'm not entirely sure how VBlank works, but hopefully these ideas will help you find a solution faster:
Framerate might be throttled to 60 if you use VSync, so increasing load might have an effect if you looked at max FPS, but not the throttled FPS
"Every Second VBlank" uses half the amount of VBlanks "Every VBlank" does would for me be the more logical conclusion, resulting in half the processing time.
Hope this helps.
Yes, if I increase the load, it can drop below 60. But it stays around 60 if the load doesn't force it down.
Yes, as I said (and as the documentation says), "Every Second VBlank" should half the framerate relative to "Every VBlank". $$anonymous$$y problem is that this does not happen. Both options result in 60 fps (providing a heavy load doesn't force it down).
Yeah, but I'd imagine that various systems perform optimisations that can only be taken advantage of if they know that the framerate is in sync with the screen update.
Anyway, why the hell isn't it working?
Your answer
Follow this Question
Related Questions
Refreshrates and vsyncCount, what code should be applied? 0 Answers
Timing of WaitForEndOfFrame relative to vertical blank onset? 3 Answers
Character Controller.isGrounded flickers true/false while stationary, but not while moving/jumping 0 Answers
particle systems' physics heavily depends on framerate?? 1 Answer