Vertical blank interrupt
A vertical blank interrupt (or VBI) is a hardware feature found in some computer systems that generate a video signal. Legacy cathode-ray tube based video display circuits generate vertical blanking and vertical sync pulses when the display picture has completed and the raster is being returned to the start of the display. With VBI, the vertical blank pulse is also used to generate an interrupt request for the computer's microprocessor.
The interrupt service routine can then run specific software to modify data in the video display memory while it is not being read to avoid screen tearing effects. This was particularly useful in simple home computers and video game consoles that relied upon a central microprocessor to generate text or graphic displays. More advanced home computers featuring hardware sprites often supported the more flexible horizontal blank interrupts instead in order to multiplex them.
As the VBI will be generated at the start of every displayed frame (50 Hz for PAL, 60 Hz for NTSC), it is a useful timebase in systems lacking other timing sources. VBIs are used in some home computers to perform regular functions like scanning the keyboard and joystick ports. It can also be used to implement a basic form of multitasking.
Furthermore, if the display hardware includes support for page flipping then the system can draw at any time the new frame into a backbuffer that is made visible as part of the VBI.
Modern protected mode operating systems generally do not support VBIs as access to hardware interrupts for unprivileged user programs could compromise the system stability. Instead, various APIs like DirectX provide efficient and safe ways to present graphics free of tear and flicker.
For computers that support VBIs see the page about raster interrupts.