Take the 2-minute tour ×
Game Development Stack Exchange is a question and answer site for professional and independent game developers. It's 100% free, no registration required.

Is there an explanation of whats going on from the software down to the hardware that explains tearing? One would think that the graphics card would just tell the LCD display to change whenever it wants to. Why do LCD displays have refresh rates at all?

share|improve this question

2 Answers 2

up vote 0 down vote accepted

Even if there's no electron beam, you're still sending the information to the monitor in the same order, over time. How often you send an entire screen's worth of information is, more or less, the refresh rate.

Consider that LCD pixels take time to change from one value to another. Even if your hardware used a lot of bandwidth to send a very high number of frames to the monitor each second, you'd still have to use pixels which could change fast enough to make that meaningful. So although there is no electron beam, there are practical limits to how fast an LCD can refresh.

And if you tell the video card to change what you're sending halfway through a frame, it will do so. Hence, tearing.

share|improve this answer
    
Do you mean the LCD display has no memory for each pixel and relies on a stream of data from the GPU even if it is displaying a static picture? –  user782220 Jul 1 '12 at 20:10
    
That's more or less correct. The video card sends the static picture in full, uncompressed, over and over. See the Wikipedia article on DVI for details. TFTs do act as a "memory" for each pixel, and a display can use memory for other purposes (e.g. motion interpolation) but the image is nonetheless updated with every refresh, static or no. –  auriplane Jul 1 '12 at 22:08

Sometimes your video card is faster at drawing than your monitor can possibly refresh, due to its hardware. It will have drawn out a full frame and then started work on the next frame (filling up the buffer with this new data) but it only gets 25% into it before the monitor comes along and grabs the buffer to draw the screen. The buffer it has grabbed is then a frame some fraction completed, but it renders anyway.

If you're moving really fast the difference between the two frames might be pretty dramatic, which looks like a 'tear'. If you're not whipping around it might not be noticeable at all. Vsync instructs the video card to only send up whole frames to the monitor accessible buffers, so the monitor is never in a position to grab a partially written to frame.

It does this by instructing the video card to only write one frame to the buffer and only to do so after the monitor has grabbed the previous frame. This effectively limits your FPS to your monitor's refresh rate.

On why monitors have refresh rates: It's the hardware involved. High end TVs have very high refresh rates (~500+) but you probably don't want to spend the money on a monitor when you're not even going to be able to tell.

share|improve this answer
    
How does an LCD display end up having a refresh rate. A refresh rate on old CRT monitors makes sense because there is an electron beam, but LCD displays don't have that. –  user782220 Jun 30 '12 at 19:42
    
There's still a hardware controller that needs to take in input (the frame buffer) and translate all the data to the screen. It's not an instantaneous operation and there's a limit to how fast it can be done. There are in fact monitors that have very high refresh rates, but the human eye has difficulty detecting much beyond 30 fps, so it's not typically worth the additional cost for most people. –  JPRO Jul 2 '12 at 2:49

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.