Mikä on vaihtoketju?

Vaihtoketju on sarja kehyspuskureita tai tietokoneen muistissa olevia paikkoja, joita käytetään kuvan renderöintiin ennen kuin se näytetään varsinaisella näytöllä tai muulla laitteella. Vaihtoketjussa on aina vähintään kaksi kehyspuskuria, koska ensimmäinen tai aktiivinen puskuri tunnistetaan yleensä näytössä parhaillaan näytettäväksi. Kun yksi kehyspuskuri on näkyvissä, seuraava puskuri voidaan renderoida ja valmistaa näyttöön ja vaihtaa sitten laitteeseen tarpeen mukaan. Vaihtoketjun käyttäminen voi poistaa joitain laitteiston ja ohjelmiston ajoitusten välisten ristiriitojen aiheuttamia ongelmia sekä graafisia artefakteja, jotka voivat näkyä suoraan näyttölaitteeseen renderöinnin vuoksi.

Tapa, jolla kuva näytetään näytöllä, on oikeastaan ​​vain asianmukaisen numerosarjan sijoittaminen määrätylle muistialueelle. Kaikki, mitä tällä muistialueella on, piirretään ruudulle useita kertoja sekunnissa. Näyttö piirretään vaakasuoraan viivaan vasemmasta yläkulmasta oikeaan alakulmaan. Hetki, jolloin näyttö aloittaa seuraavan kehyksen, kun se siirtyy näytön oikeasta alakulmasta vasempaan yläkulmaan, tunnetaan pystysuuntaisena paluuna.

Swap -puskurin toteutukset vetävät näyttöön vain pystysuuntaisen paluun aikana. Jos tämä ajoitus on pois päältä tai jos ohjelma yrittää piirtää ruudulle aikana, jolloin kehystä renderöidään, voi esiintyä repeytymänä tunnettu graafinen poikkeama. Tämä tapahtuu, kun näyttölaitteen muistissa oleva kuva muuttuu yhtäkkiä renderöinnin aikana, jolloin näytön toisella puolella näkyy viimeinen kehys ja muualla uusi.

Tekemällä kohtaus etukäteen kehyksen puskuriksi, seuraava näytettävä kehys on jo valmis ja se voidaan työntää nopeasti näyttömuistiin niin, että se näytetään. Kun yksi kuva on näkyvissä, seuraava piirretään passiiviseen kehyspuskuriin, jota kutsutaan myös takapuskuriksi. Tämä luo tasaisia ​​animaatioita ja visuaalisia tehosteita, jotka voidaan tarkasti ajastaa repeytymisen estämiseksi.

Termi “vaihtoketju” tunnetaan yleisemmin kaksoispuskurointina tai kolminkertaisena puskurointina riippuen siitä, kuinka monta kehystä vedetään ennen aktiivista kehyksen puskuria. Nanosekunnin tai millisekunnin ajoitusalgoritmien käyttäminen on olennainen osa swap -ketjun käyttöä sen varmistamiseksi, että näytön enimmäisnopeutta ei ylitetä ja että ohjelmat voivat nopeuttaa omaa käsittelyään ja resurssejaan järjestelmässä. Vaihtoketjun käyttäminen, jos se on toteutettu oikein, voi johtaa sujuvaan animaatioon näyttölaitteen ominaisuuksista tai yhden animaatiokehyksen renderoinnista kuluvasta ajasta riippumatta.