[Hardware limitation] vsync on and mouse gets worser

Bugs that have been investigated and resolved somehow.

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.
Post Reply
starstrike

vsync on and mouse gets worser

Post by starstrike »

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.
User avatar
HotWax
Posts: 10002
Joined: Fri Jul 18, 2003 6:18 pm
Location: Idaho Falls, ID

Post by HotWax »

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.
User avatar
Bio Hazard
Posts: 4019
Joined: Fri Aug 15, 2003 8:15 pm
Location: ferret ~/C/ZDL $
Contact:

Post by Bio Hazard »

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)
starstrike

Post by starstrike »

I use vsync on with counter-strike and the mouse moves even better with it on. Just a thought.
User avatar
HotWax
Posts: 10002
Joined: Fri Jul 18, 2003 6:18 pm
Location: Idaho Falls, ID

Post by HotWax »

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.
User avatar
Bio Hazard
Posts: 4019
Joined: Fri Aug 15, 2003 8:15 pm
Location: ferret ~/C/ZDL $
Contact:

Post by Bio Hazard »

go to any level with lite3 as a wall texture and look up and down rapidly

tearing is very noticeable
User avatar
HotWax
Posts: 10002
Joined: Fri Jul 18, 2003 6:18 pm
Location: Idaho Falls, ID

Post by HotWax »

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.
User avatar
Graf Zahl
Lead GZDoom+Raze Developer
Lead GZDoom+Raze Developer
Posts: 49230
Joined: Sat Jul 19, 2003 10:19 am
Location: Germany

Post by Graf Zahl »

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.
User avatar
Risen
Posts: 5263
Joined: Thu Jan 08, 2004 1:02 pm
Location: N44°30' W073°05'

Post by Risen »

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.
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.

But I never thought monitor refresh was linked to game timing at all.
User avatar
Graf Zahl
Lead GZDoom+Raze Developer
Lead GZDoom+Raze Developer
Posts: 49230
Joined: Sat Jul 19, 2003 10:19 am
Location: Germany

Post by Graf Zahl »

Risen wrote:
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.
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.

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.
User avatar
HotWax
Posts: 10002
Joined: Fri Jul 18, 2003 6:18 pm
Location: Idaho Falls, ID

Post by HotWax »

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.
User avatar
Graf Zahl
Lead GZDoom+Raze Developer
Lead GZDoom+Raze Developer
Posts: 49230
Joined: Sat Jul 19, 2003 10:19 am
Location: Germany

Post by Graf Zahl »

HotWax wrote: Graf: Perhaps your eyes are just more sensitive to tearing than mine are.
Most likely. I see it immediately and I cannot tolerate it - at all!
User avatar
Risen
Posts: 5263
Joined: Thu Jan 08, 2004 1:02 pm
Location: N44°30' W073°05'

Post by Risen »

While tearing doesn't bother me that much, I can't tolerate monitor refresh rates lower than 70Hz, (80+ preferred) so I can certainly see where you're coming from.
User avatar
randi
Site Admin
Posts: 7749
Joined: Wed Jul 09, 2003 10:30 pm
Contact:

Post by randi »

I don't know if there's anything I can do about this. The mouse is only read each time the screen redraws, so decreasing your framerate also decreases the number of times the mouse is read.
Post Reply

Return to “Closed Bugs [GZDoom]”