|
Bit blit (bitblt, blitting etc.) is a computer graphics operation in which two bitmap patterns are combined into one using a RasterOp.
Origins
The name derives from the BitBLT machine instruction for the Xerox Alto computer, standing for "Bit Block Transfer". The invention of this instruction is credited to Dan Ingalls at Xerox PARC.
The development of fast methods for various bit blit operations was key in the evolution of computer displays from using character graphics, to using bitmap graphics for everything. Machines that rely heavily on the performance of 2D graphics (such as video game consoles) come with a special-purpose chip called a Blitter.
Bit Blit techniques and uses
this section is a comp-stub
Blitting vs. sprites
Blitting is similar to hardware-sprite drawing, in that both systems reproduce a pattern, typically a square area, at different locations on the screen. Sprites have the advantage of being stored in separate memory, and therefore don't disturb the main display memory. This allows them to be moved about the display, covering the "background", with no effect on it.
Blitting moves the same types of patterns about the screen, but does so by writing into the same memory as the rest of the display. This means every time the pattern is placed on the screen the display "under" it is overwritten, or "damaged". It is up to the software to clean this damage up by blitting twice, once to remove the damage, and then again to place the bit in its new location. However, there are several ways to optimise this. If large areas of the screen are taken over by the patterns, it may be more efficient to blit the background to the screen instead of erasing each pattern individually. A variation involves divifing the screen into segments and erasing only the segments where patterns have been drawn on. This technique is known as dirty rectangles.
As one might imagine, this makes blitting significantly slower than sprite manipulation. However blitting has one very big advantage, there's no physical limit to the number of patterns you can blit, or to the size of the patterns. Thus you can use blitting to display anything on the screen, including simulating sprites (through the double-write pattern noted above), or even text.
See also
External link
|