Blitter ( eng. Blitter ) - oprindeligt en chip eller en del af en grafisk coprocessor, der hurtigt kopierer og overlejrer billedfragmenter i hukommelsen (denne proces kaldes bit-blit ), hvilket frigør CPU -ressourcer og fremskynder arbejdet med grafik. Navnet kommer fra akronymet BLIT ( engelsk: BLock Image Transfer ). Hovedanvendelsen af blitteren var at arbejde med 2D-grafik og relaterede transformationer.
Til at begynde med brugte bitmapbehandling områder af hovedhukommelsen, der blev behandlet af CPU'en . Arbejde med grafik (understøttelse af sprites , fyldning af et område med farve) kan kræve mange ressourcer.
Med forbedringen af grafikhardware ( framebuffer ) er højere opløsninger og farvedybder blevet understøttet . Spil, der gjorde fuld brug af de grafiske funktioner, ville normalt kræve høje hastigheder med flere overførsler af data i hukommelsen. Sådant arbejde tager mange ressourcer fra CPU'en, hvilket tager dens tid til at arbejde med andre opgaver.
Blitting er ikke den eneste løsning til højtydende grafikbehandling. En mere almindelig løsning var at bruge sprite- teknologi . Små billeder (sprites) blev placeret oven på baggrundsbilledet uafhængigt af det. Som regel, når den næste vandrette linje af pixels ( scanline ) på skærmen blev vist, analyserede videochippen, hvilke sprites der ramte den, og for hver viste baggrundspixel kontrollerede den, om den blev overlappet af sprite-pixel, og ændrede farven om nødvendigt. Dette eliminerede behovet for massiv hukommelseskopiering af processoren, men krævede, at videochippen ofte fik adgang til sprite-hukommelsen, som ofte blev allokeret til en separat bank af fysisk hukommelse.
Ulempen ved denne tilgang var, at sprite-behandlingslogikken var hårdkodet i chippen, og antallet af samtidigt behandlede billeder var begrænset - fra to ( Atari 2600 ) til otte ( Commodore 64 ) sprites, og en spillekonsol som f.eks. Famicom / NES kunne udsende op til 64 sprites på skærmen, men ikke mere end 8 sprites på én linje, med et større antal af dem, begyndte de som regel karakteristisk at "blinke", slukkede og tænde i en anden rækkefølge .
I blitter-teknologien er antallet af objekter kun begrænset af selve enhedens ydeevne og mængden af hukommelse, den bruger. Med stigningen i computerens ydeevne ophævede denne fordel fordelene ved at bruge sprites, og til sidst blev sprite-behandlingssystemer omdannet til blittere. Imidlertid er næsten alle computere med fremkomsten af muse-type manipulatorer i stand til at vise mindst én hardwaresprite - den faktiske musemarkør .
For at løse problemet har computerudviklere lavet en speciel enhed. Ved behandling af grafik ville CPU'en sende beskrivelsen af den nødvendige bit-blit- operation til blitteren, som ville behandle de fleste 2D-grafikoperationer parallelt og derved fremskynde applikationer.
De første blitter-lignende enheder dukkede op i Bally Astrocade -spillekonsollerne , der var berømt for deres rige grafikbehandlingsegenskaber for den tid. En sektion af hukommelse op til adresse 0x4000 blev tildelt i konsollen, og når man forsøgte at skrive til den, blev grafikchippen kaldt.
En enhed, der fuldt ud implementerer funktionerne i en blitter, dukkede først op i Commodore Amiga-computere , som Commodore modtog US 4874164 patent på . Personlig computerapparat til blokoverførsel af bitmappede billeddata ).
Alle moderne grafikprocessorer har funktioner, der er iboende i blitterens muligheder, men adgang til dem er skjult og anbefales ikke, især når du arbejder med tredimensionel grafik.
Moderne API'er ( Direct3D og OpenGL ) tvinger dig til at beskrive hele rammen og derefter tegne den fra bunden. Flytning af data direkte i framebufferen er mindre effektivt og kan betragtes som dårlig programmeringspraksis. Moderne enheder har allerede et sæt billedbehandlingsfunktioner (rotation, zoom og gennemsigtighed), som er let tilgængelige via en API. Brug af teksturer til at gengive polygoner gør blittere forældede. Denne teknologi har dog fundet sin anvendelse i moderne grafiske undersystemer med lavt strømforbrug.