Soldato
- Joined
- 30 Nov 2011
- Posts
- 11,522
Thanks
I may go into more detail later when i have time. but a short version.
vBlank is what old CRT's used to run.
image > blank > image > blank >... really fast.
That was removed from 'early' LCD's because they could not process a fresh image fast enough, they would flicker.
So LCD's don't have the blank bit in-between, instead they over lay one image over the other, that's why the image can look blurry or ghost during movment, its a series of images overlaying eachother while not perfectly aligned as they are in motion.
This also causes that tearing, two images with one half rendered overlaying the first and out of position.
None of that happens with a 'blank' between each image, by default the screen displays a blank image until it gets one to display, it then removes that image before displaying the next one in waiting cached on the GPU, simple.
LCD's are more than fast enough now to run vBlank, its simply being put back in.
display port vblank is not directly related to CRT vertical blanking interval (VBI), it just shares a similar name
vblank is just a control bit used to synch between output devices and monitors - similar to how vsync works in games, but you can't turn off display ports built in vsync - they even call it vsync in the DP standard, which gets slightly confusing when you try to have a conversation about games and displayport
Vertical Blanking is absolutely not being added back in to LCD's with variable vblank - that would be more like backlight strobing, or "low persistence" as Oculus Rift call it
tearing in games is caused when the game ignores these timing signals (when you turn off game side vsync) and the game is writing to the front buffer in the middle of a scan and the monitor picks up half of the new frame and half of the old frame, using variable vblank the buffer is never actually a blank, as you describe - variable vblank is not changing the way that LCD's read from the buffer, or actually blanking out the buffer, the buffer is always full of an image and it is still being overwritten without being blanked out
ghosting is caused because some LCD technologies just aren't as fast at switching a particular pixel from one colour to another - trying to force these types of monitors to actually blank down and then switch to another colour would be even worse
Last edited: