Vad är en swapkedja?

En växlingskedja är en serie frambuffrar, eller platser i datorminne, som används för att göra en bild innan den visas på en faktisk bildskärm eller annan enhet. Det finns alltid minst två bildbuffrar i en swapkedja eftersom den första eller aktiva bufferten vanligtvis identifieras som den som för närvarande visas på displayen. Medan en bildbuffer visas, kan nästa buffert återges och förberedas för visning och sedan bytas till enheten vid behov. Användning av en swapkedja kan eliminera några av de problem som uppstår på grund av konflikter mellan hårdvara och mjukvarutidning, liksom grafiska artefakter som kan uppstå på grund av att de återges direkt till displayenheten.

Det sätt på vilket en bild visas på en bildskärm handlar egentligen bara om att placera rätt sekvens i ett specifikt minneområde. Vad som än finns i detta minnesområde dras på skärmen flera gånger varje sekund. En skärm ritas i horisontella linjer från det övre vänstra hörnet till det nedre högra hörnet. Det ögonblick då skärmen startar nästa bild, när den rör sig från skärmens nedre högra hörn till det övre vänstra hörnet, kallas vertikal återgång.

Implementeringar av en swap-buffert drar endast till skärmen under den vertikala retningen. Om denna timing är avstängd, eller om ett program försöker rita till en skärm under perioder när en ram återges, kan en grafisk avvikelse, känd som en tår, uppstå. Detta inträffar när bilden i displayenhetens minne plötsligt ändras i mitten av återgivningen, vilket gör att en sida av skärmen visar den sista bilden och resten av skärmen visar den nya.

Genom att återge en scen i förväg till en bildbuffer är nästa bild som ska visas redan förberedd och kan snabbt skjutas in i displayminnet så att den visas. När en bild visas dras den nästa i den inaktiva bildbuffern, även kallad en bakre buffert. Detta skapar smidiga animationer och visuella effekter som kan exakt tidsinställas för att förhindra rivning.

Termen "swap chain" är mer allmänt känd som dubbel buffring eller trippel buffring, beroende på antalet ramar som dras före den aktiva bildramaren. Att använda nanosekund- eller millisekundstimuleringsalgoritmer är en väsentlig del av att använda en swapkedja för att säkerställa att den maximala bildhastigheten för bildskärmen inte överskrids och att program kan öka sin egen bearbetning och resurser på ett system. Om du använder en swapkedja, om den är korrekt implementerad, kan det resultera i smidiga animationer oavsett egenskaperna hos en bildskärmsenhet eller hur lång tid det tar att göra en enda animationsram.

ANDRA SPRÅK

Hjälpte den här artikeln dig? Tack för feedbacken Tack för feedbacken

Hur kan vi hjälpa? Hur kan vi hjälpa?