Blitter ( eng. Blitter ) - eredetileg egy grafikus társprocesszor chipje vagy része, amely gyorsan másolja és fedi a képrészleteket a memóriában (ezt a folyamatot bit-blitnek nevezik ), ami felszabadítja a CPU erőforrásait és felgyorsítja a grafikával végzett munkát. Az elnevezés a BLIT ( angolul: Block Image Transfer ) mozaikszóból származik. A blitter fő alkalmazása a 2D grafikával és a kapcsolódó átalakításokkal való munka volt.
Kezdetben a bittérképes feldolgozás a fő memória azon területeit használta, amelyeket a CPU dolgozott fel . A grafikával való munka (a sprite támogatása , egy terület színekkel való kitöltése) sok erőforrást igényelhet.
A grafikus hardver ( framebuffer ) fejlesztésével a nagyobb felbontások és színmélységek támogatottak . Azok a játékok, amelyek teljes mértékben kihasználták a grafikus funkciókat, általában nagy sebességet igényelnek, többszörös adatátvitellel a memóriában. Az ilyen munka sok erőforrást von el a CPU-tól, és elveszi az idejét az egyéb feladatok elvégzésére.
A Blitting nem az egyetlen megoldás a nagy teljesítményű grafikus feldolgozáshoz. Elterjedtebb megoldás volt a sprite technológia alkalmazása . Kis képek (sprite) kerültek a háttérkép tetejére attól függetlenül. Általános szabály, hogy a képernyő következő vízszintes pixelsorának ( scanline ) megjelenítésekor a videochip elemezte, hogy melyik sprite ütötte meg, és minden megjelenített háttérpixelnél ellenőrizte, hogy átfedésben van-e sprite pixel, szükség esetén megváltoztatva a színt. Ez kiküszöbölte a processzor általi masszív memóriamásolást, de a videochipnek gyakran kellett hozzáférnie a sprite memóriához, amelyet gyakran külön fizikai memóriabankhoz rendeltek.
Ennek a megközelítésnek az volt a hátránya, hogy a sprite feldolgozási logikát keményen kódolták a chipben, és az egyidejűleg feldolgozott képek száma korlátozott volt - kettőtől ( Atari 2600 ) nyolc ( Commodore 64 ) sprite-ig, és egy olyan játékkonzol, mint a A Famicom / NES legfeljebb 64 sprite-ot tudott kiadni a képernyőre, de legfeljebb 8 sprite-ot egy sorban, nagyobb számmal általában jellegzetesen "kacsintni" kezdtek, eltérő sorrendben kapcsolva ki és be. .
A blitter technológiában az objektumok számának csak magának az eszköznek a teljesítménye és az általa használt memória mennyisége szab határt. A számítógép teljesítményének növekedésével ez az előny kioltotta a sprite-ok használatának előnyeit, és végül a sprite-feldolgozó rendszereket blitterekké alakították át. Azonban az egér típusú manipulátorok megjelenésével szinte minden számítógép képes megjeleníteni legalább egy hardver sprite-ot - a tényleges egérkurzort .
A probléma megoldása érdekében a számítógép-fejlesztők egy speciális eszközt készítettek. Grafika feldolgozása során a CPU elküldi a szükséges bit-blit művelet leírását a blitternek, ami a 2D grafikus műveletek nagy részét párhuzamosan dolgozná fel, és ezáltal felgyorsítaná az alkalmazásokat.
Az első blitter-szerű eszközök a Bally Astrocade játékkonzolokban jelentek meg , amelyek akkoriban gazdag grafikai feldolgozási képességeikről híresek. A konzolban 0x4000 címig lefoglaltak egy memóriarészt, és amikor megpróbáltak írni rá, meghívták a grafikus chipet.
A blitter funkcióit teljes mértékben megvalósító eszköz először a Commodore Amiga számítógépekben jelent meg , amelyre a Commodore megkapta az US 4874164 szabadalmat . Személyi számítógépes készülék bit-leképezett képadatok blokkátvitelére ).
Minden modern grafikus processzor rendelkezik a blitter képességeivel rejlő funkciókkal, de ezekhez való hozzáférés rejtett és nem ajánlott, különösen, ha háromdimenziós grafikával dolgozik.
A modern API -k ( Direct3D és OpenGL ) arra kényszerítik, hogy leírja a teljes keretet, majd a nulláról rajzolja meg. Az adatok közvetlen áthelyezése a framebufferben kevésbé hatékony, és rossz programozási gyakorlatnak tekinthető. A modern eszközök már rendelkeznek képfeldolgozó funkciókkal (forgatás, nagyítás és átlátszóság), amelyek API-n keresztül könnyen elérhetők. A textúrák használata a sokszögek megjelenítésére elavulttá teszi a villogást. Ez a technológia azonban megtalálta az alkalmazását a modern grafikus alrendszerekben, alacsony energiafogyasztással.