Vad är Accelerated OpenGL®-läge?
Accelerated Open Graphics Library® (OpenGL®) -läget i datorgrafik är ett tillstånd som kan aktiveras på ett datorgrafikkort för att använda maskinvaruförmågorna för grafikkortet för att utföra några eller alla OpenGL®-kommandon och renderingar istället för att standardisera till rent mjukvarubaserad funktionalitet. Inte alla grafikkort stöder ett hårdvaruaccelererat OpenGL®-läge, och vissa som stöder läget påskyndar inte helt tillgängliga kommandon i OpenGL®-biblioteket. Beroende på maskinvara och drivrutiner som används i en viss dator eller enhet kan accelererat OpenGL®-läge ibland faktiskt vara långsammare än mjukvarutillverkningsläge, vare sig det är på grund av konflikter eller bara för att en datorprocessor är snabbare än grafikprocessorn. När du skriver applikationer som använder accelererat OpenGL®-läge kan det vara svårt att exakt upptäcka och använda läget exklusivt, eftersom implementeringen av hur man hanterar accelererade lägen inte är standardiserad och kan variera mycket från en drivrutin till nästa.
OpenGL®-grafikbiblioteket är ett abstrakt programmeringsgränssnitt (API) som tillhandahåller en buffert mellan grafikhårdvara och den programvara som är skriven för att få åtkomst till den. I allmänhet arbetar OpenGL® med en klientservermodell, vilket innebär att programvaran blir en klient som sedan skickar ritningsförfrågningar och information till servern, som vanligtvis är OpenGL®-drivrutinen och hårdvaran. Drivrutinen som tillhandahålls antingen av operativsystemet eller grafikkortstillverkaren kan variera kraftigt i sin interna implementering, så en del mer avancerad hårdvarufunktion är inte alltid standardiserad. Hårdvaruaccelererad OpenGL®-läge är en av funktionerna som lämnas till grafikkortstillverkarna för implementering.
När ett program använder hårdvaruaccelererat OpenGL®-läge är det som faktiskt händer att ett OpenGL®-funktionssamtal ringas och skickas till drivrutinen. Om föraren upptäcker att accelerationen är aktiv eller att en specifik operation har direkt hårdvarusupport, skickas funktionen direkt till grafikbehandlingsenheten (GPU) på grafikkortet. Om det inte finns någon acceleration som är aktiv eller närvarande, kommer kommandot att bearbetas och köras genom standardprogramvarusamtal och algoritmer. I de flesta fall ger hårdvaruacceleration mycket snabbare återgivningstider än ren programvara.
Vissa grafikkort stöder ett accelererat OpenGL®-läge, men endast med en specifik upplösning och färgdjup. Detta betyder att ett grafikkort automatiskt kan använda ett accelererat läge om det, när ett program initierar OpenGL®, begär en specifik upplösning och färgdjup. Grafikhårdvara kan vara mycket annorlunda, så detta läge är inte alltid uppenbart och ibland kan det vara svårt att automatiskt upptäcka från ett program utan användarinmatning. Förutom att drivrutinen och hårdvaran måste stödja ett accelererat OpenGL®-läge, måste bildskärmen eller bildskärmsenheten också ha ursprungligt stöd för den begärda upplösningen och färgdjupet, annars kan en växling till ett accelererat läge misslyckas och kan förhindra att ett program körs.