Wat is een ruilketen?

Een ruilketen is een reeks framebuffers, of locaties in het computergeheugen, die worden gebruikt om een ​​afbeelding weer te geven voordat deze op een echte monitor of ander apparaat wordt weergegeven. Er zijn altijd ten minste twee framebuffers in een ruilketen omdat de eerste of actieve buffer meestal wordt geïdentificeerd als degene die momenteel op het display wordt weergegeven. Terwijl een framebuffer wordt weergegeven, kan de volgende buffer worden weergegeven en voorbereid voor weergave en vervolgens naar het apparaat worden gewisseld als dat nodig is. Het gebruik van een ruilketen kan enkele van de problemen elimineren die optreden als gevolg van conflicten tussen hardware- en softwaretiming, evenals grafische artefacten die kunnen optreden als gevolg van directe weergave naar het weergaveapparaat.

De manier waarop een afbeelding op een monitor wordt weergegeven, is eigenlijk gewoon een kwestie van de juiste reeks getallen in een bepaald geheugengebied plaatsen. Wat zich in dit geheugengebied bevindt, wordt elke seconde meerdere keren op het scherm getekend. Een scherm wordt getekend in horizontale lijnen van de linkerbovenhoek naar de rechteronderhoek. Het moment waarop het scherm het volgende frame begint, wanneer het van de rechteronderhoek van het scherm naar de linkerbovenhoek beweegt, staat bekend als de verticale retrace.

Implementaties van een swapbuffer trekken alleen naar het scherm tijdens de verticale retrace. Als deze timing is uitgeschakeld, of als een programma probeert naar een scherm te tekenen tijdens perioden waarin een frame wordt weergegeven, kan een grafische afwijking, bekend als een traan, verschijnen. Dit gebeurt wanneer het beeld in het geheugen van het weergaveapparaat tijdens het renderen plotseling wordt gewijzigd, waardoor een zijde van het scherm het laatste frame weergeeft en de rest van het scherm het nieuwe frame.

Door een scène van tevoren in een framebuffer te laten weergeven, is het volgende weer te geven frame al voorbereid en kan het snel in het displaygeheugen worden gepusht zodat het wordt weergegeven. Terwijl de ene afbeelding wordt weergegeven, wordt de volgende getekend in de inactieve framebuffer, ook wel een backbuffer genoemd. Dit zorgt voor vloeiende animaties en visuele effecten die exact getimed kunnen worden om scheuren te voorkomen.

De term "ruilketen" is meer algemeen bekend als dubbele buffering of drievoudige buffering, afhankelijk van het aantal frames dat wordt getrokken voorafgaand aan de actieve framebuffer. Het gebruik van nanoseconde of milliseconde timingalgoritmen is een essentieel onderdeel van het gebruik van een ruilketen om ervoor te zorgen dat de maximale framesnelheid van de monitor niet wordt overschreden en dat programma's hun eigen verwerking en bronnen op een systeem kunnen versnellen. Het gebruik van een ruilketen, indien correct geïmplementeerd, kan resulteren in vloeiende animaties, ongeacht de eigenschappen van een weergaveapparaat of de hoeveelheid tijd die nodig is om een ​​enkel animatieframe weer te geven.

ANDERE TALEN

heeft dit artikel jou geholpen? bedankt voor de feedback bedankt voor de feedback

Hoe kunnen we helpen? Hoe kunnen we helpen?