What is "Tearing" ???

SKy042

[H]ard|Gawd
Joined
Jan 27, 2003
Messages
1,037
I've seen it mentioned on here many times but I don't know exactly what it is to know if it's the problem I occaisonally see on my system.
 
Lets say you have a monitor which refreshes itself 60 times a second, but you have a game which is running at say 100 fps.

In simple terms, the video card will send one frame to the monitor, but before the monitor has finished drawing that frame the card send another frame, and the monitor starts drawing that frame. So the top of the screen is one frame, and the bottom of the screen is another frame, and their will be a "tear" in the middle. Depending on the monitor and game fps there can be more than one tear on screen at a time.

In some games it is not as annoying as others, depending on the game's pace, engine etc. Some players are not bothered by it, where some cannot stand it whatsoever.

The solution is an option called Vsync, usually possible to be enabled in the options of your game. What this does is send the frame to a buffer, and then from the buffer to the monitor, ie it waits until the monitor is done with frame 1 before sending frame 2.
Vsync itself is not trouble free itself, your fps will be limited to the monitor's refresh rate, or possible cut in 1/2 (unless you use some kind of triple buffering), and in extremely fast paced multiplayer games it is a (negligible to most) disadvantage as it may wait a few milliseconds to draw say your enemy movement.

I don't know what your problem is, but if you enable Vsync and it goes away then you know that it was tearing, if not describe the symptoms of your problem.
 
Quite simply the monitor reads what to draw to the screen from a buffer, it draws it row by row starting at the top most row and moving down.

When the video card finishes rendering the next frame it puts it in the buffer and replaces the frame already there, even if the monitor isn't done refreshing. The monitor is non the wiser and continues to draw the frame with the new data.

For example it might get through 100 rows of pixels and the buffer has the new frame written to it, the monitor goes to display the 101st row to the screen but it taking it from a new image, if that image differs greatly from the previous then you get a very obvious "tearing" effect.

If you were just rendering a solid colour across the whole screen, red for example, you would not notice this effect, if you were rendering 1 red image and then 1 blue one (alternating frames) then you'll get very obvious tearing where you might get 100 lines of red, then 100 lines of blue etc.

As described Vsync stops tearing by only swapping out the monitors buffer when the monitor is done drawing the entire frame, this limits your frame rate to the refresh rate of the monitor. If the frame rate is LOWER than the refresh rate of the monitor it ends up waiting too long and missing a frame (having to display the same frame twice) and so your effective frame rate is "capped" to 1/2 the monitors refresh rate, or 1/3 or 1/4 etc (basically whatever frame rate the card can supply)

*edit*

Tearing appers worse the faster your frame rate, if you have a refresh rate of 60hz (60 refreshes per second) and a frame rate of 120FPS then on average your monitor is displaying 2 frames everytime it refreshes and you'll see 2 parts of the screen displaying 2 slightly different images, with a frame rate of 180FPS you'd have 3 seperate parts of 3 images on your screen on average (per frame)

Tearing becomes more obvious if the scene you're rending changes a lot, in an FPS for example if you rotate for view point very slowly its hard to notice tearing, if you snap your mouse fast and the point of view rotates 180 degrees really fast then one part of the screen might displaying what was originally in front of you and the bottom part of the screen will be displaying what was originally behind you, which makes the tearing effect look a lot worse.
 
To simply put it's when game fps goes faster than your monitor refresh rate... So when gaming you want VSYNC... Sometimes off to get faster performance...
 
If you have an LCD you will almost always need V-Sync. Though again that depends on the game. On a high end CRT, I would set the refresh at 100Hz and still set V-Sync if I still experienced tearing, but if I ever had the FPS cut in half it was never a problem.

Basically with the CRT I got the smoothest gaming experiences, but I'll take the crisp glare free and more color vibrant LCD display any day.
 
Drexion said:
Lets say you have a monitor which refreshes itself 60 times a second, but you have a game which is running at say 100 fps.

In simple terms, the video card will send one frame to the monitor, but before the monitor has finished drawing that frame the card send another frame, and the monitor starts drawing that frame. So the top of the screen is one frame, and the bottom of the screen is another frame, and their will be a "tear" in the middle. Depending on the monitor and game fps there can be more than one tear on screen at a time.

In some games it is not as annoying as others, depending on the game's pace, engine etc. Some players are not bothered by it, where some cannot stand it whatsoever.

The solution is an option called Vsync, usually possible to be enabled in the options of your game. What this does is send the frame to a buffer, and then from the buffer to the monitor, ie it waits until the monitor is done with frame 1 before sending frame 2.
Vsync itself is not trouble free itself, your fps will be limited to the monitor's refresh rate, or possible cut in 1/2 (unless you use some kind of triple buffering), and in extremely fast paced multiplayer games it is a (negligible to most) disadvantage as it may wait a few milliseconds to draw say your enemy movement.

I don't know what your problem is, but if you enable Vsync and it goes away then you know that it was tearing, if not describe the symptoms of your problem.

Great post... Will increasing the Hz on monitor decrease this problem?
 
Possibly, yes. It's very difficult to effectively reduce tearing without using vertical sync, however. If it's something you notice, and something that certainly bothers you, the best bet is just enable vertical sync.

If you're using an LCD, your refresh rate probably cannot be changed by any significant degree (I can only run at 60 Hz or 59.97 Hz, for instance), so vertical sync may be your only real option. If possible, enable triple buffering to reduce occasional, significant drops in performance.

There are a lot of guys out there, myself included, that will not play a game if it doesn't allow vsync to work correctly, and will spend a great deal of money on hardware to offset potential performance hits while using vsync.
 
The only drawback to triple buffering is the introduction of another buffer. Essentially, the card has to generate another 4-8MB buffer (depending on frame resolution) which will reduce storage available for texture data. Potential limitations? You need to do a little tweaking to get this going for DX games. For OpenGL games, it's a direct option on both nVidia and ATi hardware.
 
I read in some guide that as long as you have enough video memory (which every new card does these days) like 256MB and up, you will not experience adverse effects by enabling that third buffer.
 
a game that you can see it the most in is Doom3 with the FPS cap taken off

sometimes when I bench machines I build (I primarily use Doom3, great game for testing newly built machines for any complications) I forget to turn on Vsync and man does it look like crap! :mad: then I turn it on and everything is back to normal
 
lol, you just pwned yourself. :) Let me explain. Whenever you hear about problems don't ask what they are or you are doomed to see them. When you hear backlight leakage, texture smearing, shimmering, banding, tearing and don't know what they are... don't look. Run.....

Lest you be doomed to an eternal life staring at it. There's vsync, still life's not a bed of roses. After a few monitors and shoppping for a few HDTV's, I'm in a 12 step program myself. I would probably kill you for a SEDs TV. :p

All in good fun. I don't blame you for wanting to know. Triple buffing in concept is good but Direct X and it are not the best of friends. I think the game pretty much has to support it or you're screwed. In options it may sound all encompassing. A common misconception is that you have to be over your refresh limit to get tearing. That's not true at all.
 
Back
Top