Ce este un lanț de schimb?

Un lanț de schimb este o serie de cadre tampon, sau locații din memoria computerului, care sunt folosite pentru a reda o imagine înainte de a fi afișată pe un monitor real sau alt dispozitiv. Există întotdeauna cel puțin două cadre tampon într-un lanț de schimb, deoarece primul tampon sau activ este de obicei identificat ca fiind cel afișat în prezent pe afișaj. În timp ce un framebuffer este afișat, următorul buffer poate fi redat și pregătit pentru afișare și apoi schimbat pe dispozitiv după cum este necesar. Utilizarea unui lanț de schimb poate elimina unele dintre problemele care apar din cauza conflictelor dintre sincronizarea hardware și software, precum și artefactele grafice care pot apărea din cauza redării direct pe dispozitivul de afișare.

Modul în care o imagine este afișată pe un monitor este de fapt doar o chestiune de plasare a secvenței corecte de numere într-o anumită zonă de memorie. Orice se află în această zonă de memorie este desenat pe ecran de câteva ori în fiecare secundă. Un ecran este desenat în linii orizontale din colțul din stânga sus până în colțul din dreapta jos. Momentul în care ecranul începe următorul cadru, când se mișcă din colțul din dreapta jos al ecranului în colțul din stânga sus, este cunoscut sub numele de retragere verticală.

Implementările unui buffer de swap atrag pe ecran doar în timpul retracării verticale. Dacă această sincronizare este dezactivată sau dacă un program încearcă să atragă pe un ecran în perioadele în care este redat un cadru, atunci poate apărea o anomalie grafică cunoscută sub numele de rupere. Acest lucru se întâmplă atunci când imaginea din memoria dispozitivului de afișare este schimbată brusc în mijlocul redării, determinând ca o parte a afișajului să arate ultimul cadru, iar restul ecranului să-l arate pe cel nou.

Redând o scenă înainte de timp într-un framebuffer, următorul cadru care urmează să fie afișat este deja pregătit și poate fi împins rapid în memoria de afișare, astfel încât să fie afișat. În timp ce o imagine este afișată, următoarea este desenată în framebuffer-ul inactiv, numit și back-buffer. Acest lucru creează animații netede și efecte vizuale care pot fi cronometrate exact pentru a preveni ruperea.

Termenul „lanț de schimb” este cunoscut mai frecvent ca tamponare dublă sau tamponare triplă, în funcție de numărul de cadre care sunt desenate înaintea memoriei tampon active. Utilizarea algoritmilor de temporizare în nanosecunde sau milisecunde este o parte esențială a utilizării unui lanț de schimb pentru a se asigura că rata maximă de cadre a monitorului nu este depășită și că programele își pot accelera propriile procesări și resurse pe un sistem. Utilizarea unui lanț de schimb, dacă este implementată corect, poate avea ca rezultat animații fluide, indiferent de proprietățile unui dispozitiv de afișare sau de timpul necesar pentru a reda un singur cadru de animație.