Hvad er en swap -kæde?
En swap -kæde er en række FrameBuffers eller placeringer i computerhukommelse, der bruges til at gengive et billede, før den vises på en faktisk skærm eller anden enhed. Der er altid mindst to framebuffere i en swap -kæde, fordi den første eller aktive buffer normalt identificeres som den, der i øjeblikket vises på displayet. Mens en FrameBuffer vises, kan den næste buffer gengives og forberedes til visning og derefter byttes til enheden efter behov. Brug af en swap -kæde kan eliminere nogle af de problemer, der opstår på grund af konflikter mellem hardware og softwaretiming, såvel som grafiske artefakter, der kan vises på grund af gengivelse direkte til displayindretningen.
Den måde, et billede vises på en skærm, er virkelig bare et spørgsmål om at placere den korrekte række af tal i et specifikt hukommelsesområde. Uanset hvad der er i dette hukommelsesområde tegnes på skærmen flere gange hvert sekund. En skærm tegnes i vandrette linjer fra øverste venstre hjørnetil det nederste højre hjørne. Det øjeblik, hvor skærmen starter den næste ramme, når den bevæger sig fra nederste højre hjørne af skærmen til øverste venstre hjørne, er kendt som den lodrette tilbagetrækning.
Implementeringer af en swapbuffer trækker kun på skærmen under den lodrette tilbagetrækning. Hvis denne timing er slukket, eller hvis et program forsøger at tegne på en skærm i perioder, hvor en ramme gengives, kan der vises en grafisk anomali kendt som en tåre. Dette sker, når billedet i displayenhedens hukommelse pludselig ændres midt i gengivelsen, hvilket får den ene side af skærmen til at vise den sidste ramme, og resten af skærmen for at vise den nye.
Ved at gengive en scene forud for tid til en framebuffer er den næste ramme, der skal vises, allerede forberedt og kan hurtigt skubbes ind i displayhukommelsen, så den vises. Mens det ene billede vises, tegnes det næste iInaktiv FrameBuffer, også kaldet en bagbuffer. Dette skaber glatte animationer og visuelle effekter, der kan være nøjagtigt tidsbestemt for at forhindre rivning.
Udtrykket "swap -kæde" er mere almindeligt kendt som dobbeltbuffering eller tredobbelt buffering, afhængigt af antallet af rammer, der trækkes i forkant af den aktive rammebuffer. Brug af nanosekund eller millisekund timingalgoritmer er en væsentlig del af at bruge en swap -kæde for at sikre, at den maksimale billedhastighed på skærmen ikke overskrides, og at programmer kan sætte deres egen behandling og ressourcer på et system. Anvendelse af en swap -kæde, hvis det er korrekt implementeret, kan resultere i glatte animationer uanset egenskaberne ved en displayindretning eller den tid, det tager at gengive en enkelt animationsramme.