Vsynch, tearing, & LCD monitors

hunter33

Limp Gawd
Joined
Mar 8, 2007
Messages
298
I just recently got 2 widescreen LCDs for my 2 main home computers. The home office computer has a 20.1" at 1680x150 res. The upstairs computer is a 19" at 1440x900. Been doing some reading on widescreen gaming and optimizing video card settings for LCDs and widescreen resolutions.

My understanding is that setting a refresh rate on your video card for an LCD monitor is only for the purpose of the LCD knowing that it's receiving a signal. The response time of the LCD monitor is actually responsible for changing the pixel state. I don't understand the relationship of pixel response time to the refresh rate of a video card (doesn't make sense to me how it could produce tearing), but have read several articles that say tearing on LCDs is real. If that's the case then it would make sense to set the refresh rate as low as possible (60hz) to minimize tearing.

Now all that being said it seems that tearing is only a problem when the framerate drops below the refresh rate. So do you disable vsync if you have a powerful enough video card that the framerate would never or seldomly drop below 60 fps? And if you have a weaker video card do you enable vsynch and then hardware enable double or triple buffering in the graphics driver?

I also read somewhere that antialiasing doesn't do any good at 1650x1080 resolutions and above. Anyone have any experience with that?

Thanks
 
For LCD's (or any monitor for that matter), you'd want to enable Vsync so that the video card synchronizes its framerate with the monitor's framerate. This way, the video card will never render more frames than the monitor's refresh rate. If the video card renders more frames than the monitor's refresh rate (let's say your FPS is 89 and your refresh rate is 60hz), then tearing will occur. Technically, with vertical sync, you ARE reducing the over FPS, because it can't peak to high framerates, such as over 100 FPS, but the minimum FPS never drops, and that's what really counts anyways.
 
I guess that's the confusing part to me, how can a video card peg its fps to a monitor's refresh rate with vsync on when that monitor (an LCD) doesn't have a refresh rate? Or is vsync=on actually setting the framerate in the video driver to the refresh rate of the card and not the monitor? If that is the case then it seems like we should set the refresh rate of the video card to the highest possible refresh rate even though it has no affect on the LCD monitor.

I read an interesting article yesterday that talked about video cards that were marginal in terms of being able to exceed the refresh rate. FPS fluctuates a lot in games and if a card is capable of doing just slightly above the refresh rate but will do below it when alot is on screen this article indicated there could be dramatic framerate drops if triple buffering were not enabled. Basically, this could occur if a card were not powerful enough to *always* stay above the refresh rate in FPS.


Wish there were some article I could read that would explain the relationship between video card refresh rate and response time of an LCD monitor. Without understanding that it's hard to know how to set up buffering and vsync on a marginal card. I guess with a real powerful video card it doesn't matter ... always enable vsync and triple buffering if available.
 
You're making this more complicated than it is - repsonse time does not come into into it, only refresh rate. With vsync on the card will only draw during a blanking period between screen refreshes, i.e. a maximum of the same number as the refresh rate in Hz, so 60z caps at 60FPS and so on. If the card were to draw between screen refreshes, you'd see tearing. And of course if a refresh is missed (due to slow rendering) the card needs to wait for the next one to draw, hence the framerate drops from 60FPS to 30FPS (since it waits twice as long in between frames). With triple buffering three frames are rendered and stored in the card's framebuffer at the same time, meaning it's always one frame ahead. This means even if it misses rendering a frame it has another in reserve to display before this is a problem - the idea is that the card then catches up and you see no drop in framerate, or at least a smaller drop.

You mat be wondering how this is relevant on an LCD as from your posts it seems you think it refreshes individual pixels at a time. This is not so - although I believe the technology COULD do this in theory, the signal it's being fed is not in this format - it still scans top to bottom and updates appropriately, hence there is still a refresh rate although there is no scanning electron gun as with a CRT.
 
LCDs do have a refresh rate, but with an LCD it is used for signal timing, rather than telling a CRT how has the gun is to redraw the screen.

Since the monitor simply supports a refresh rate range, what the actual refresh rate will be is determined by the video card. Now, once the video card is signaling at, we'll say 60Hz, to the monitor, this is the signal timing between the card and the monitor. However, that doesn't mean that a video card cannot render, and release from the buffer, faster than this signal timing. Turning on VSync tells the card not to render and release frames from the buffer at a rate in excess of the specified refresh rate...thus they are synced.
 
Thanks a bunch all, this is really great info. Think I understand how it works now.

Knowing all this does it make sense to up the refresh rate to 75hz using an LED, if you have a powerful video card that you suspect won't drop or often drop FPS below that?
 
If vsync simply caps the FPS, why do they still drop below 60, when otherwise they would still be well above 60? For example, in Half Life 2, i get well over 100 FPS with my card at my settings. At say part x in the game, the framerates are well above 60, but with vsync on, they will drop to 30?
 
Thanks for all the info guys, I was also wondering the same thing. I got a 8800GTS yesterday and noticed the it doesn't tear as much as my old 6600GT cause the FPS is more consistent. My 6600Gt was really jumpy and would tear like a mofo. I'm gonna try Vsync and see how it is :)
 
nissanztt90, JDAdams explains the answer to your question a couple of posts up. It's because when a lot is on the screen the card is momentarily unable to render at 60fps (vsync pegs fps to the refresh rate) so it misses a refresh and has to wait for another draw. Might be able to improve it by enabling double or triple buffering. Basically if the card is powerful enough to never drop below 60 fps at any time you won't see this.

Refresh rate on both monitors is set to 60hz. The upstairs computer is a 19" LCD at 1440x900 with a 7600GT. The home office computer is a 20.1" LCD at 1650x1080 on a 7300LE. I'll be upgrading the 7300 to something DX10 compliant soon.
 
Wow i even started reading that post and completely skipped over it. Thanks.

Also, JDAdams, it is set to 60h.
 
Back
Top