Hva er akselerert OpenGL® -modus?
Accelerated Open Graphics Library® (OpenGL®) -modus i datagrafikk er en tilstand som kan aktiveres på et datagrafikkkort for å bruke maskinvareevnen til grafikkortet for å utføre noen eller alle OpenGL®-kommandoer og gjengivelser i stedet for å misligholde rent programvarebasert funksjonalitet. Ikke alle grafikkort støtter en maskinvare-akselerert OpenGL®-modus, og noen som støtter modus, akselererer ikke alle kommandoene som er tilgjengelige i OpenGL®-biblioteket. Avhengig av maskinvare og drivere som brukes i en bestemt datamaskin eller enhet, kan akselererte OpenGL® -modus av og til faktisk være tregere enn programvare -gjengivelsesmodus, enten på grunn av konflikter eller bare fordi en datamaskinprosessor er raskere enn grafikkprosessoren. Når du skriver applikasjoner som bruker akselerert OpenGL® -modus, kan det være vanskelig å oppdage og bruke modus nøyaktig, fordi implementeringen av hvordan man håndterer akselererte moduser ikke er standardisert og kan variere veldig fra en sjåfør til den neste.
OpenGL® Graphics Library er et abstrakt programmeringsgrensesnitt (API) som gir en buffer mellom grafikkmaskinvare og programvaren skrevet for å få tilgang til den. Generelt jobber OpenGL® med en klient-servermodell, noe som betyr at programvaren blir en klient som deretter sender tegningsforespørsler og informasjon til serveren, som vanligvis er OpenGL®-driveren og maskinvaren. Driveren som leveres enten av operativsystemet eller grafikkortprodusenten kan variere veldig i sin interne implementering, så noe mer avansert maskinvarefunksjonalitet er ikke alltid standardisert. Maskinvare-akselerert OpenGL®-modus er en av funksjonene som overlates til grafikkortprodusentene for implementering.
Når et program bruker maskinvare-akselerert OpenGL®-modus, er det som faktisk skjer at en OpenGL®-funksjonsanrop erlaget og sendt til sjåføren. Skulle driveren oppdage at akselerasjonen er aktiv eller at en spesifikk operasjon har direkte maskinvarestøtte, føres funksjonen direkte til grafikkbehandlingsenheten (GPU) som ligger på grafikkortet. Hvis det ikke er noen akselerasjon aktiv eller til stede, vil kommandoen bli behandlet og utført gjennom standard programvareanrop og algoritmer. I de fleste tilfeller gir maskinvareakselerasjon mye raskere gjengivelsestider enn ren programvare.
Noen grafikkort støtter en akselerert OpenGL® -modus, men bare på en spesifikk oppløsning og fargedybde. Dette betyr at et grafikkort automatisk kan bruke en akselerert modus hvis det, når et program initialiserer OpenGL®, ber om en spesifikk oppløsning og fargedybde. Grafikkmaskinvare kan være veldig forskjellig, så denne modusen er ikke alltid tydelig og noen ganger kan være vanskelig å oppdage automatisk fra et program uten brukerinngang. I tillegg til at sjåføren og maskinvaren må støtteEn akselerert OpenGL® -modus, Monitor- eller Display -enheten må også ha naturlig støtte for oppløsningen og fargedybden som er forespurt, ellers vil bytte til en akselerert modus mislykkes og kan forhindre at et program utfører.