Hva er en swapkjede?

En byttekjede er en serie rammebuffere, eller steder i dataminne, som brukes til å gjengi et bilde før det vises på en faktisk skjerm eller annen enhet. Det er alltid minst to rammebuffere i en byttekjede fordi den første eller aktive bufferen vanligvis identifiseres som den som for øyeblikket vises på displayet. Mens en framebuffer vises, kan den neste bufferen gjengis og forberedes for visning og deretter byttes til enheten etter behov. Å bruke en byttekjede kan eliminere noen av problemene som oppstår på grunn av konflikter mellom maskinvare og programvaretid, så vel som grafiske gjenstander som kan vises på grunn av gjengivelse direkte til displayenheten.

Måten et bilde vises på en skjerm, er egentlig bare et spørsmål om å plassere riktig sekvens av tall i et spesifisert minneområde. Uansett hva som er i dette minnet er tegnet på skjermen flere ganger hvert sekund. En skjerm er tegnet i horisontale linjer fra øverste venstre hjørnetil nedre høyre hjørne. Øyeblikket når skjermen starter neste ramme, når den beveger seg fra nedre høyre hjørne av skjermen til øverste venstre hjørne, er kjent som vertikal tilbaketrekning.

Implementeringer av en byttebuffer trekker bare til skjermen under den vertikale tilbaketrekningen. Hvis denne timingen er av, eller hvis et program prøver å trekke til en skjerm i perioder når en ramme blir gjengitt, kan en grafisk anomali kjent som en tåre vises. Dette skjer når bildet i displayenhetens minne plutselig endres midt i gjengivelsen, noe som får den ene siden av skjermen til å vise den siste rammen, og resten av skjermen for å vise den nye.

Ved å gjengi en scene på forhånd til en framebuffer, er den neste rammen som skal vises allerede utarbeidet og kan raskt skyves inn i skjermminnet slik at den vises. Mens det ene bildet vises, trekkes det neste iInaktiv rammebuffer, også kalt en bakbuffer. Dette skaper glatte animasjoner og visuelle effekter som kan være nøyaktig tidsbestemt for å forhindre riving.

Begrepet "Swap Chain" er mer kjent som dobbel buffering eller trippel buffering, avhengig av antall rammer som trekkes i forkant av den aktive rammebufferen. Å bruke nanosekund- eller millisekund -timingalgoritmer er en viktig del av å bruke en byttekjede for å sikre at den maksimale bildefrekvensen for skjermen ikke overskredet, og at programmer kan tempo på sin egen prosessering og ressurser på et system. Å bruke en byttekjede, hvis den er implementert riktig, kan resultere i glatte animasjoner uavhengig av egenskapene til en displayenhet eller hvor lang tid det tar å gjengi en enkelt animasjonsramme.

ANDRE SPRÅK