Sprite multiplexing - Sprite multiplexing
Sprite multiplexing er en computergrafik teknik, hvor yderligere sprites (bevægelige billeder) kan tegnes på skærmen ud over det nominelle maksimum. Det er stort set historisk, hovedsageligt anvendeligt til ældre hardware, hvor begrænsede ressourcer (såsom CPU-hastighed og hukommelse ) kun betød et relativt lille antal sprites blev understøttet. På den anden side er det også sandt, at uden multiplexing ville sprite-kredsløbet være inaktiv meget af tiden, og begrænsede ressourcer blev spildt.
Beskrivelse
Sprite-multiplexeringsteknikken er baseret på ideen om, at selvom hardwaret kun understøtter et endeligt antal sprites, er det undertiden muligt at genbruge de samme sprite "slots" mere end en gang pr. Frame eller scanline . Det program vil først bruge hardware til at tegne en eller flere sprite (r), som normalt. Før den næste ramme (eller næste scanningslinje) skal tegnes, omprogrammerer softwaren hardwaren til at vise yderligere sprites i andre positioner.
For eksempel understøtter Nintendo Entertainment System eksplicit hardware sprite multiplexing, hvor det har 64 hardware sprites, men kun er i stand til at gengive 8 af dem pr. Scanline. På den ældre Atari 2600 blev ikke sprite-multiplexing designet med vilje, men programmører opdagede, at de kunne nulstille TIA- grafikchippen for at tegne yderligere sprites på den samme scanline.
Sprite-multiplexeringsteknikken er afhængig af, at programmet er i stand til at identificere, hvilken del af videoskærmen der tegnes i øjeblikket eller udløses af videohardwaren til at køre en subrutine i det afgørende øjeblik. Programmøren skal nøje overveje skærmens layout. Hvis videografikhardwaren ikke omprogrammeres i tide til at de ekstra sprites skal vises, vises de ikke eller tegnes forkert.
Moderne videografikhardware bruger typisk ikke hardware-sprites, da moderne computersystemer ikke har den slags begrænsninger, som sprite-hardware er designet til at omgå.
Implementeringer
Computere, der tillod programmøren at anvende sprite multiplexing-teknikken, inkluderer: