Ce este modul OpenGL® accelerat?

Modul Accelerated Open Graphics Library® (OpenGL®) în grafica computerizată este o stare care poate fi activată pe o placă grafică a computerului pentru a utiliza abilitățile hardware ale plăcii grafice pentru a efectua unele sau toate comenzile și redările OpenGL® în loc să fie implicite la funcționalitate bazată exclusiv pe software. Nu toate plăcile grafice acceptă un mod OpenGL® accelerat hardware, iar unele care acceptă acest mod nu accelerează complet toate comenzile disponibile în biblioteca OpenGL®. În funcție de hardware-ul și driverele utilizate într-un anumit computer sau dispozitiv, modul accelerat OpenGL® poate fi uneori mai lent decât modul de randare software, fie din cauza conflictelor, fie doar pentru că procesorul unui computer este mai rapid decât procesorul grafic. Când scrieți aplicații care utilizează modul accelerat OpenGL®, poate fi dificil să detectați și să utilizați modul exclusiv, deoarece implementarea modului de manipulare a modurilor accelerate nu este standardizată și poate varia foarte mult de la un driver la altul.

Biblioteca de grafică OpenGL® este o interfață de programare abstractă (API) care oferă un tampon între hardware-ul grafic și software-ul scris pentru a-l accesa. În general, OpenGL® funcționează cu un model client-server, ceea ce înseamnă că software-ul devine un client care apoi trimite cereri de desen și informații către server, care de obicei este driverul și hardware-ul OpenGL®. Driverul care este furnizat fie de sistemul de operare, fie de producătorul plăcii grafice poate varia foarte mult în implementarea sa internă, astfel încât unele funcționalități hardware mai avansate nu sunt întotdeauna standardizate. Modul OpenGL® accelerat de hardware este una dintre caracteristicile lăsate pentru implementare producătorilor de plăci grafice.

Când un program folosește modul OpenGL® accelerat de hardware, ceea ce se întâmplă de fapt este că un apel de funcție OpenGL® este efectuat și transmis driverului. În cazul în care driverul detectează că accelerația este activă sau că o anumită operațiune are suport hardware direct, atunci funcția este transmisă direct la unitatea de procesare grafică (GPU) situată pe placa grafică. Dacă nu există nicio accelerație activă sau prezentă, atunci comanda va fi procesată și executată prin apeluri software și algoritmi standard. În cele mai multe cazuri, accelerarea hardware oferă timpi de randare mult mai rapidi decât software-ul pur.

Unele plăci grafice acceptă un mod accelerat OpenGL®, dar numai la o anumită rezoluție și adâncime de culoare. Aceasta înseamnă că o placă grafică poate utiliza automat un mod accelerat dacă, atunci când un program inițializează OpenGL®, solicită o anumită rezoluție și adâncime de culoare. Hardware-ul grafic poate fi foarte diferit, astfel încât acest mod nu este întotdeauna aparent și uneori poate fi dificil de detectat automat din cadrul unui program fără intrarea utilizatorului. Pe lângă faptul că driverul și hardware-ul trebuie să accepte un mod accelerat OpenGL®, monitorul sau dispozitivul de afișare trebuie să aibă și suport nativ pentru rezoluția și adâncimea de culoare solicitate, altfel trecerea la un mod accelerat va eșua și ar putea împiedica executarea unui program.