Che cos'è la modalità OpenGL® accelerata?
La modalità Accelerated Open Graphics Library® (OpenGL®) in computer grafica è uno stato che può essere attivato in una scheda grafica per computer per utilizzare le capacità hardware della scheda grafica per eseguire alcuni o tutti i comandi e rendering di OpenGL® invece di impostare funzionalità puramente basata su software. Non tutte le schede grafiche supportano una modalità OpenGL® con accelerazione hardware e alcune che supportano la modalità non accelerano completamente tutti i comandi disponibili nella libreria OpenGL®. A seconda dell'hardware e dei driver utilizzati in un determinato computer o dispositivo, la modalità OpenGL® accelerata di tanto in tanto potrebbe effettivamente essere più lenta della modalità di rendering del software, sia a causa di conflitti sia solo perché un processore del computer è più veloce del processore grafico. Quando si scrivono applicazioni che utilizzano la modalità OpenGL accelerata, può essere difficile rilevare e utilizzare la modalità in modo accurato esclusivamente, poiché l'implementazione di come gestire le modalità accelerate non è standardizzata e può variare notevolmente da un driver all'altro.
La libreria grafica OpenGL® è un'interfaccia di programmazione astratta (API) che fornisce un buffer tra l'hardware grafico e il software scritto per accedervi. In generale, OpenGL® funziona con un modello client-server, il che significa che il software diventa un client che quindi invia richieste di disegno e informazioni al server, che di solito è il driver e l'hardware OpenGL®. Il driver fornito dal sistema operativo o dal produttore della scheda grafica può variare notevolmente nella sua implementazione interna, quindi alcune funzionalità hardware più avanzate non sono sempre standardizzate. La modalità OpenGL® con accelerazione hardware è una delle caratteristiche che viene lasciata ai produttori di schede grafiche per l'implementazione.
Quando un programma utilizza la modalità OpenGL® con accelerazione hardware, ciò che effettivamente accade è che una chiamata di funzione OpenGL® viene effettuata e passata al driver. Se il driver rileva che l'accelerazione è attiva o che un'operazione specifica ha un supporto hardware diretto, la funzione viene passata direttamente all'unità di elaborazione grafica (GPU) situata sulla scheda grafica. Se non è presente alcuna accelerazione attiva o presente, il comando verrà elaborato ed eseguito tramite chiamate software standard e algoritmi. Nella maggior parte dei casi, l'accelerazione hardware fornisce tempi di rendering molto più rapidi rispetto al software puro.
Alcune schede grafiche supportano una modalità OpenGL® accelerata, ma solo a una risoluzione e profondità di colore specifiche. Ciò significa che una scheda grafica potrebbe utilizzare automaticamente una modalità accelerata se, quando un programma inizializza OpenGL®, richiede una risoluzione e un'intensità di colore specifiche. L'hardware grafico può essere molto diverso, quindi questa modalità non è sempre evidente e talvolta può essere difficile rilevare automaticamente all'interno di un programma senza l'input dell'utente. Oltre al driver e all'hardware che devono supportare una modalità OpenGL® accelerata, anche il monitor o il dispositivo di visualizzazione devono avere il supporto nativo per la risoluzione e l'intensità del colore richieste, altrimenti il passaggio a una modalità accelerata fallirà e potrebbe impedire l'esecuzione di un programma.