[PATCH] DOCS/tech/tearing.txt
Simple document explaining all about what/why/how tearing is... I re-read again now, it seems to me all correct and good. Anyone spot anything incorrect or misleading in it? - ods15
On Mon, Mar 07, 2005 at 04:44:21PM +0200, Oded Shimon wrote:
Tearing happens in some vo's, most noticeably vo_fbdev or
video output drivers - "vo's" is bad grammar, it would have to be "vos"
anything that uses fb for output (ggi:fbdev, sdl:fbcon...). Tearing also
s/fb/framebuffer - try not to overuse short forms.
Best shown with an example:
Where's the verb? "This is.."
Image A is the image being shown. K is black areas. The monitor looks
s/black areas/the black area/
What happens with tearing is that halfway through this process, the image changes - a very likely event. Because of this, the monitor displays the first half the first image, and the next half it shows the new image, thinking it's all the same image. The mistake will be "corrected" in the very next refresh, as then the entire screen will be the new image - too slow. Our eye already caught the mistake. With extremely high refresh rates (150hz+), tearing is practically unnoticeable.
I'm not particularly fond of this paragraph. It could be slightly clearer. Sorry for not being more specific right now.. Diego
Wow, this patch sure got stuck in the queue for a long time... On Tue, Mar 08, 2005 at 12:07:23AM +0100, Diego Biurrun wrote:
On Mon, Mar 07, 2005 at 04:44:21PM +0200, Oded Shimon wrote:
What happens with tearing is that halfway through this process, the image changes - a very likely event. Because of this, the monitor displays the first half the first image, and the next half it shows the new image, thinking it's all the same image. The mistake will be "corrected" in the very next refresh, as then the entire screen will be the new image - too slow. Our eye already caught the mistake. With extremely high refresh rates (150hz+), tearing is practically unnoticeable.
I'm not particularly fond of this paragraph. It could be slightly clearer. Sorry for not being more specific right now..
I must admit I don't get the above paragraph 100%, can somebody elaborate? Rich? Diego
On Thu, 30 Jun 2005, Diego Biurrun wrote:
On Tue, Mar 08, 2005 at 12:07:23AM +0100, Diego Biurrun wrote:
On Mon, Mar 07, 2005 at 04:44:21PM +0200, Oded Shimon wrote:
What happens with tearing is that halfway through this process, the image changes - a very likely event. Because of this, the monitor displays the first half the first image, and the next half it shows the new image, thinking it's all the same image. The mistake will be "corrected" in the very next refresh, as then the entire screen will be the new image - too slow. Our eye already caught the mistake. With extremely high refresh rates (150hz+), tearing is practically unnoticeable.
I'm not particularly fond of this paragraph. It could be slightly clearer. Sorry for not being more specific right now..
I must admit I don't get the above paragraph 100%, can somebody elaborate? Rich?
A CRT doesn't display a whole image at once. It updates one row, and then the next row, and so one until the bottom of the screen, and then jumps back to the top ("v-sync") and continues. So at any instant, the top portional of the screen is from one image, and the bottom portion is from the previous image. As long as the image being display only changes during v-sync, you don't normally notice this, because the border between the two images is moving really fast. However, if you change the display part way through the scan, then it's a mixture of 3 images, with one of the boundaries staying still for 1/75 second or so, which is long enough to notice. --Loren Merritt
On Thu, Jun 30, 2005 at 08:55:09AM -0700, Loren Merritt wrote:
On Thu, 30 Jun 2005, Diego Biurrun wrote:
On Tue, Mar 08, 2005 at 12:07:23AM +0100, Diego Biurrun wrote:
On Mon, Mar 07, 2005 at 04:44:21PM +0200, Oded Shimon wrote:
What happens with tearing is that halfway through this process, the image changes - a very likely event. Because of this, the monitor displays the first half the first image, and the next half it shows the new image, thinking it's all the same image. The mistake will be "corrected" in the very next refresh, as then the entire screen will be the new image - too slow. Our eye already caught the mistake. With extremely high refresh rates (150hz+), tearing is practically unnoticeable.
I'm not particularly fond of this paragraph. It could be slightly clearer. Sorry for not being more specific right now..
I must admit I don't get the above paragraph 100%, can somebody elaborate? Rich?
A CRT doesn't display a whole image at once. It updates one row, and then the next row, and so one until the bottom of the screen, and then jumps back to the top ("v-sync") and continues. So at any instant, the top portional of the screen is from one image, and the bottom portion is from the previous image.
This is nonsense. (hmm, i'm starting to talk like Rich.. :) The entire monitor is completely BLACK, _except_ for the horizantel line it's drawing. There's no "mixture of 2 images", because there's no micture at all. The monitor shows a line, the line is "burned" into your eye, remembered, then the line disappears. _immedeately_. and so on for the next line, until the entire picture has been burned into your eye, and then the monitor moves on to the next image, by that time your eye has "recovered" from it's burn and is ready for the next image.
As long as the image being display only changes during v-sync, you don't normally notice this, because the border between the two images is moving really fast. However, if you change the display part way through the scan, then it's a mixture of 3 images,
No, it's 2 images, and it's really not even that. it's the top half being the first frame (In your eye! the monitor is completely black ofcourse, as always), and the bottom half being the new frame.
with one of the boundaries staying still for 1/75 second or so, which is long enough to notice.
--Loren Merritt
- ods15
On Thursday 30 June 2005 19:06, Oded Shimon wrote:
This is nonsense. (hmm, i'm starting to talk like Rich.. :) The entire monitor is completely BLACK, _except_ for the horizantel line it's drawing.
If you follow the same logic you're using, you could say that the monitor is completely black except for the exact point at which the electron beam is currently illuminating. Nonsense. The material in the screen glows some time after it has been energized by the electron beam. The idea though, is that by the time you start drawing the next image, the old one if fading away, so you get "frames" of sorts. I have a screen that glows a few hours after use, even with power unplugged and all :) If the room is dark, I can even take a flashlight and hold it very close to the screen and "draw" on it. The parts of the screen that get lit by the flash light glow stronger than the rest for awhile.
On Thu, Jun 30, 2005 at 07:06:10PM +0300, Oded Shimon wrote:
On Thu, Jun 30, 2005 at 08:55:09AM -0700, Loren Merritt wrote:
On Thu, 30 Jun 2005, Diego Biurrun wrote:
On Tue, Mar 08, 2005 at 12:07:23AM +0100, Diego Biurrun wrote:
On Mon, Mar 07, 2005 at 04:44:21PM +0200, Oded Shimon wrote:
What happens with tearing is that halfway through this process, the image changes - a very likely event. Because of this, the monitor displays the first half the first image, and the next half it shows the new image, thinking it's all the same image. The mistake will be "corrected" in the very next refresh, as then the entire screen will be the new image - too slow. Our eye already caught the mistake. With extremely high refresh rates (150hz+), tearing is practically unnoticeable.
I'm not particularly fond of this paragraph. It could be slightly clearer. Sorry for not being more specific right now..
I must admit I don't get the above paragraph 100%, can somebody elaborate? Rich?
A CRT doesn't display a whole image at once. It updates one row, and then the next row, and so one until the bottom of the screen, and then jumps back to the top ("v-sync") and continues. So at any instant, the top portional of the screen is from one image, and the bottom portion is from the previous image.
This is nonsense. (hmm, i'm starting to talk like Rich.. :) The entire monitor is completely BLACK, _except_ for the horizantel line it's drawing.
Well.. It still has residual charge, but it's in the 'fading' state, yes. Rich
On Thu, Jun 30, 2005 at 11:06:16AM +0200, Diego Biurrun wrote:
Wow, this patch sure got stuck in the queue for a long time...
On Tue, Mar 08, 2005 at 12:07:23AM +0100, Diego Biurrun wrote:
On Mon, Mar 07, 2005 at 04:44:21PM +0200, Oded Shimon wrote:
What happens with tearing is that halfway through this process, the image changes - a very likely event. Because of this, the monitor displays the first half the first image, and the next half it shows the new image, thinking it's all the same image. The mistake will be "corrected" in the very next refresh, as then the entire screen will be the new image - too slow. Our eye already caught the mistake. With extremely high refresh rates (150hz+), tearing is practically unnoticeable.
I'm not particularly fond of this paragraph. It could be slightly clearer. Sorry for not being more specific right now..
I must admit I don't get the above paragraph 100%, can somebody elaborate? Rich?
Wow that's old... Umm, I'll try to explain to you and you try to help me phrase it please - It takes 1/60th of a second (or, whatever your refresh rate is) for the video card to display a monitor "picture". It does this gradually, from top to bottom. 1/60th of a second is a lot of time, enough for our eye to see a defect. Half way through this time, MPlayer changes video frames, to the next frame. This operation is _immedeate_. The result is, the video card is now working on new data, and earlier it worked on old data, and it just thinks all of this is the same, and continues showing it. you end up with the top half of the monitor being frame 1, and the bottom being with frame 2. 11111111111111 } "painting" all of this on 11111111111111 } the montior is a 1/60th second process 11111111111111 } ... 11111111111111 } 11111111111111 } 11111111111111 } 11111111111111 } 11111111111111 11111111111111 11111111111111 } oops, halfway through, MPlayer changed the picture! 22222222222222 22222222222222 22222222222222 22222222222222 22222222222222 22222222222222 22222222222222 22222222222222 22222222222222 22222222222222 22222222222222 I hope that's clear enough... - ods15
participants (5)
-
Diego Biurrun -
Jan Knutar -
Loren Merritt -
Oded Shimon -
Rich Felker