Vad är en bytkedja?
En swap -kedja är en serie rambuffrar 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å rambuffrar i en bytkedja eftersom den första eller aktiva bufferten vanligtvis identifieras som den som för närvarande visas på displayen. Medan en rambuffer visas kan nästa buffert återges och förberedas för display och sedan bytas till enheten vid behov. Att använda en swap -kedja kan eliminera några av de problem som uppstår på grund av konflikter mellan hårdvara och mjukvarutimning, såväl som grafiska artefakter som kan visas på grund av att du gör direkt till displayenheten.
Hur en bild visas på en bildskärm är egentligen bara en fråga om att placera rätt sekvens av siffror till ett specificerat område för minne. Vad som finns i detta minnesområde ritas på skärmen flera gånger varje sekund. En skärm ritas i horisontella linjer från det övre vänstra hörnettill det nedre högra hörnet. Det ögonblick då skärmen startar nästa ram, när den rör sig från det nedre högra hörnet av skärmen till det övre vänstra hörnet, är känt som den vertikala återgången.
Implementering av en bytebuffert drar bara till skärmen under den vertikala återgången. Om denna tidpunkt är avstängd, eller om ett program försöker dra till en skärm under perioder när en ram återges, kan en grafisk anomali känd som en tår dyka upp. Detta inträffar när bilden i displayenhetens minne plötsligt ändras i mitten av rendering, vilket får en sida av skärmen att visa den sista ramen och resten av skärmen för att visa den nya.
Genom att göra en scen i förväg till en rambuffer är nästa ram som ska visas redan förberedd och kan snabbt skjutas in i visningsminnet så att det visas. Medan en bild visas dras nästa iinaktiv rambuffer, även kallad en bakbuffert. Detta skapar smidiga animationer och visuella effekter som kan vara exakt tidsinställda för att förhindra rivning.
Termen "Swap -kedja" är oftare känd som dubbelbuffring eller trippelbuffring, beroende på antalet ramar som dras före den aktiva rambuffern. Att använda nanosekund eller millisekund timingalgoritmer är en väsentlig del av att använda en swap -kedja för att säkerställa att den maximala bildhastigheten för monitorn inte överskridit och att program kan ta sin egen bearbetning och resurser på ett system. Att använda en swap -kedja, om den är korrekt implementerad, kan resultera i smidiga animationer oavsett egenskaper för en displayenhet eller den tid det tar att göra en enda animation.