[Hardware limitation] vsync on and mouse gets worser
Moderator: GZDoom Developers
Forum rules
Please don't bump threads here if you have a problem - it will often be forgotten about if you do. Instead, make a new thread here.
Please don't bump threads here if you have a problem - it will often be forgotten about if you do. Instead, make a new thread here.
vsync on and mouse gets worser
I have a 3.2 Ghz, with 1024 MG ram, using zdoom 2.0.63 and when i turn on vsync to true it does make it a lot smoother but then the mouse does not turn as sharp and swiftly as when vsync is false, even if i put smooth mouse on/off or prescale mouse movements on or off, it's still not as right when vsync is off. BTW i use "in_mouse 1", but trying 0,1,or 2, its still does not feel right.
I'd just thought i'd let you guys know, did not know if it is a known problem or even if there is a fix for it.
I'd just thought i'd let you guys know, did not know if it is a known problem or even if there is a fix for it.
It's not a bug. When you turn vsync on, screen refreshes are delayed until the last refresh is complete. This forces your computer to fully draw each frame to the monitor before moving onto the next, which means any frames that could have been rendered in the meantime are being skipped. The mouse movements are being recorded, but because less frames are being drawn, the view appears more sluggish than you're used to.
Personally, I never use vsync unless I'm using an emulator and would otherwise get choppy graphics (this occurs when the original game's refresh rate is very different from your monitor's refresh), and that's just because screen tears are quite noticible in those cases. With modern computers having very high refresh and FPS rates, you're unlikely to notice any screen tearing even without vsync turned off. What's more, if you do have screen tearing, your computer is certainly not fast enough to render the entire picture each frame anyway. (You'd get lower FPS as a result) Finally, because vsync forces the video card and/or CPU to wait for the monitor to finish, the monitor's refresh rate limits the maximum FPS; even if you have the potential to get 200+ FPS, vsync caps it somewhere between 60 and 80 FPS (depending on refresh rate at the given resolution).
All in all, vsync is typically very very bad.
Personally, I never use vsync unless I'm using an emulator and would otherwise get choppy graphics (this occurs when the original game's refresh rate is very different from your monitor's refresh), and that's just because screen tears are quite noticible in those cases. With modern computers having very high refresh and FPS rates, you're unlikely to notice any screen tearing even without vsync turned off. What's more, if you do have screen tearing, your computer is certainly not fast enough to render the entire picture each frame anyway. (You'd get lower FPS as a result) Finally, because vsync forces the video card and/or CPU to wait for the monitor to finish, the monitor's refresh rate limits the maximum FPS; even if you have the potential to get 200+ FPS, vsync caps it somewhere between 60 and 80 FPS (depending on refresh rate at the given resolution).
All in all, vsync is typically very very bad.
- Bio Hazard
- Posts: 4019
- Joined: Fri Aug 15, 2003 8:15 pm
- Location: ferret ~/C/ZDL $
- Contact:
i disagree
while no vsync makes a bigger number on the screen to impress your friends, it does create screen tearing which is an imperfection and looks bad
it also uses your processor to its max for frames that cant even be preceived by your eyes which leads to excess heat which lowers your computer's lifespan (even if by a little)
i always have it on (but my monitor's refresh rate is 100hz anyway)
while no vsync makes a bigger number on the screen to impress your friends, it does create screen tearing which is an imperfection and looks bad
it also uses your processor to its max for frames that cant even be preceived by your eyes which leads to excess heat which lowers your computer's lifespan (even if by a little)
i always have it on (but my monitor's refresh rate is 100hz anyway)
While this may not be the case in ZDoom (which is why I didn't mention it above), setting the vsync option for a 3D card typically causes more sluggish or jerky movement than you're used to seeing. Since the card is wasting cycles waiting for the monitor to catch up, scenes with alot of activity which would normally tax the card a bit and lower your FPS from 150 to 130, now lower your FPS from your new hard cap (whatever your refresh is) to 20 frames lower. On a 100hz monitor, this might not be a problem. If you bought a Dell, it's going to be -- 40fps is no laughing matter, particularly when it's thrown into a bunch of 60FPS frames. The result is non-uniform speed which translates to the game feeling sluggish even though your computer can easily handle the task of rendering it.
As far as screen tearing, show me any recent game which has this issue. If your computer can't handle a game, it's going to show up in the form of a slideshow before you're going to get playable performance with tearing. Trust me, if you're getting over 100FPS, you're not even going to notice it.
As far as screen tearing, show me any recent game which has this issue. If your computer can't handle a game, it's going to show up in the form of a slideshow before you're going to get playable performance with tearing. Trust me, if you're getting over 100FPS, you're not even going to notice it.
- Bio Hazard
- Posts: 4019
- Joined: Fri Aug 15, 2003 8:15 pm
- Location: ferret ~/C/ZDL $
- Contact:
Correction: Tearing is "very" noticeable when bobbing your head like an idiot in front of a specific texture.
Even doing this, it took me awhile to notice the tearing. After I turned sync on, the view didn't improve much. Believe it or not, flailing your head around like some kind of life-sized bobble head makes things look like shit synchronized or otherwise.
As it happens, my computer is fast enough that v_sync really has little effect, be it positive or negative. Your computer is probably the same way, so if it helps you to sleep better at night knowing that you can safely throw your mouse around while staring at lights, more power to you.
Meanwhile, modern games get kicked in the balls when you force them to waste your video card's cycles.
Even doing this, it took me awhile to notice the tearing. After I turned sync on, the view didn't improve much. Believe it or not, flailing your head around like some kind of life-sized bobble head makes things look like shit synchronized or otherwise.
As it happens, my computer is fast enough that v_sync really has little effect, be it positive or negative. Your computer is probably the same way, so if it helps you to sleep better at night knowing that you can safely throw your mouse around while staring at lights, more power to you.
Meanwhile, modern games get kicked in the balls when you force them to waste your video card's cycles.
- Graf Zahl
- Lead GZDoom+Raze Developer
- Posts: 49230
- Joined: Sat Jul 19, 2003 10:19 am
- Location: Germany
I notice tearing all the time and as a result can't stand playing without VSync. In the end it really doesn't matter whether the engine wastes the time waiting for the VSync or repainting the same image over and over again. It does not improve image quality. On the contrary: If the engine interpolates movement between frames you get massive tearing instead and this is such a massive distraction for me that I have VSync forced on for all apps in the graphics driver.
Is that really how is works? That doesn't sound right at all. If you system is capable of displaying 150FPS but you've capped it to 60FPS, if it slows down to 70FPS, the renderer should be able to display 60FPS, not 0.HotWax wrote:Since the card is wasting cycles waiting for the monitor to catch up, scenes with alot of activity which would normally tax the card a bit and lower your FPS from 150 to 130, now lower your FPS from your new hard cap (whatever your refresh is) to 20 frames lower. On a 100hz monitor, this might not be a problem. If you bought a Dell, it's going to be -- 40fps is no laughing matter, particularly when it's thrown into a bunch of 60FPS frames.
But I never thought monitor refresh was linked to game timing at all.
- Graf Zahl
- Lead GZDoom+Raze Developer
- Posts: 49230
- Joined: Sat Jul 19, 2003 10:19 am
- Location: Germany
Risen wrote:Is that really how is works? That doesn't sound right at all. If you system is capable of displaying 150FPS but you've capped it to 60FPS, if it slows down to 70FPS, the renderer should be able to display 60FPS, not 0.HotWax wrote:Since the card is wasting cycles waiting for the monitor to catch up, scenes with alot of activity which would normally tax the card a bit and lower your FPS from 150 to 130, now lower your FPS from your new hard cap (whatever your refresh is) to 20 frames lower. On a 100hz monitor, this might not be a problem. If you bought a Dell, it's going to be -- 40fps is no laughing matter, particularly when it's thrown into a bunch of 60FPS frames.
But I never thought monitor refresh was linked to game timing at all.
No it normally shouldn't work like that. A page flip request is normally queued and excuted asynchronously. Only if more than one VSync request are queued the second one has to wait so time should only be 'wasted' if the rendering time is so short that more than 2 frames can be finished during one VSync interval (in other words, the system wants to write into the screen that is currently displayed). I never discovered any slowdowns of any kind due to VSync.
Of course there can be drivers that do it wrong.
Testing with Quake 3, I found that with vsync on, the frame rate will drop significantly lower than it would with vsync off. Note that it's not always a 1:1 ratio. If you normally run 150 and a certain scene brings you to 70, and then you turn on vsync, you may now be getting 60 (capped) and the scene will drop you to 50. Wasted cycles are wasted cycles. Your video card isn't working under full load and thus isn't ready when the scene suddenly increases in complexity as it's only allowed to render 1 frame ahead. This results in extra unnecessary frame loss.
Graf: Perhaps your eyes are just more sensitive to tearing than mine are. Perhaps your monitor is. Who knows. For me, it makes more sense to let your card repeatedly draw very similar scenes. When they do tear, they're so similar that the difference is imperceptable. (Unless of course you're jerking your view around in order to find tears) That makes the frames seem to blend into each other. In fact non-digital televisions have been working that way for years -- each "frame" they render half the lines to the screen, leaving the other half from the last frame. This causes a measly 24FPS to seem much higher as the motion blends together. While it doesn't work as well for computers due to the distortion it would cause with text or other fine details, it certainly doesn't hurt to have frames blending into each other once in awhile. Just a thought.
Graf: Perhaps your eyes are just more sensitive to tearing than mine are. Perhaps your monitor is. Who knows. For me, it makes more sense to let your card repeatedly draw very similar scenes. When they do tear, they're so similar that the difference is imperceptable. (Unless of course you're jerking your view around in order to find tears) That makes the frames seem to blend into each other. In fact non-digital televisions have been working that way for years -- each "frame" they render half the lines to the screen, leaving the other half from the last frame. This causes a measly 24FPS to seem much higher as the motion blends together. While it doesn't work as well for computers due to the distortion it would cause with text or other fine details, it certainly doesn't hurt to have frames blending into each other once in awhile. Just a thought.