Co je režim Accelerated OpenGL®?
Režim Accelerated Open Graphics Library® (OpenGL®) v počítačové grafice je stav, který lze aktivovat na grafické kartě počítače a použít hardwarové schopnosti grafické karty k provádění některých nebo všech příkazů a vykreslování OpenGL® namísto výchozích nastavení na čistě softwarová funkčnost. Ne všechny grafické karty podporují hardwarově akcelerovaný režim OpenGL® a některé, které tento režim podporují, zcela nezrychlují všechny příkazy dostupné v knihovně OpenGL®. V závislosti na hardwaru a ovladačích používaných v konkrétním počítači nebo zařízení může být zrychlený režim OpenGL® občas pomalejší než režim vykreslování softwaru, ať už kvůli konfliktům nebo jen proto, že počítačový procesor je rychlejší než grafický procesor. Při psaní aplikací, které používají zrychlený režim OpenGL®, může být obtížné přesně detekovat a používat tento režim výhradně, protože implementace toho, jak zvládat zrychlené režimy, není standardizovaná a může se mezi jednotlivými ovladači značně lišit.
Grafická knihovna OpenGL® je abstraktní programovací rozhraní (API), které poskytuje vyrovnávací paměť mezi grafickým hardwarem a softwarem napsaným pro přístup k němu. Obecně OpenGL® pracuje s modelem klient-server, což znamená, že se software stává klientem, který poté odesílá žádosti a informace o kreslení na server, což je obvykle ovladač a hardware OpenGL®. Ovladač, který poskytuje operační systém nebo výrobce grafické karty, se může ve své interní implementaci výrazně lišit, takže některé pokročilejší hardwarové funkce nejsou vždy standardizovány. Hardwarově akcelerovaný režim OpenGL® je jednou z funkcí, která je ponechána výrobcům grafických karet k implementaci.
Pokud program používá hardwarově akcelerovaný režim OpenGL®, skutečně se stane, že je provedeno volání funkce OpenGL® a předáno ovladači. Pokud řidič zjistí, že zrychlení je aktivní nebo že konkrétní operace má přímou hardwarovou podporu, je funkce předána přímo do grafické jednotky zpracování (GPU) umístěné na grafické kartě. Pokud není aktivní ani neexistuje žádné zrychlení, příkaz bude zpracován a proveden pomocí standardních softwarových volání a algoritmů. Ve většině případů poskytuje hardwarová akcelerace mnohem rychlejší vykreslovací časy než čistý software.
Některé grafické karty podporují zrychlený režim OpenGL®, ale pouze ve specifickém rozlišení a barevné hloubce. To znamená, že grafická karta může automaticky použít zrychlený režim, pokud program po inicializaci OpenGL® vyžaduje specifické rozlišení a barevnou hloubku. Grafický hardware může být velmi odlišný, takže tento režim není vždy zřejmý a někdy může být obtížné jej automaticky detekovat v rámci programu bez vstupu uživatele. Kromě toho, že ovladač a hardware musí podporovat zrychlený režim OpenGL®, musí monitor nebo zobrazovací zařízení také mít nativní podporu pro požadované rozlišení a barevnou hloubku, jinak přepnutí do zrychleného režimu selže a mohlo by zabránit provádění programu.