Control Web poskytuje výjimečně bohaté možnosti počítačové grafiky.
Můžeme volit vykreslovače grafiky od 3D GDI celočíselné kresby, přes
spojité GDI+ a Direct2D až po plně prostorovou 3D scénu vykreslovanou
pomocí OpenGL. Veškeré rozhodování o kvalitě vzhledu a výkonu grafiky
aplikace má tedy ve svých rukou její autor.
Je pravda, že ovladače grafiky jsou velmi rozsáhlým a složitým
kusem programového vybavení. Před několika lety byly chyby v
ovladačích docela časté a také bylo možno komunikovat s lidmi za vývoj
ovladačů odpovědnými. Dnes můžete napsat nebo si zavolat do Indie, kde
nic nevyřídíte. Na druhé straně jsou ovladače pro čipy NVIDIA nebo AMD
prakticky perfektní. Pouze u Intelu je pár problémů, které se
projevují zhroucením ovladače a ukončením celé aplikace. Projevují se
ale pouze na některých čipech, jen při velkém objemu naplněné grafické
paměti a některých verzích ovladačů. Způsobují pád celého systému
Control Web a uživatel je logicky naštvaný na nás, i když v problémech
s ovladači jsme opravdu nevinně.
Rovněž je pravda, že Microsoft nemá rád OpenGL s snaží se proti
tomuto systému bojovat tu více a tu méně poctivými prostředky.
Naštěstí ale celý zbytek světa OpenGL používá a tak je k dispozici
dostatek software nahrazující to, co ve Windows chybí (např. renderer
fontů FreeType atd.).
Zde se může hodit několik poznámek a poznatků:
Nemůžeme akcelerovat grafiku bez grafického akcelerátoru.
Hlavním smyslem používání OpenGL je využít výkonu grafického
procesoru. Veškerá grafika pak běží paralelně v GPU a aplikace
funguje jakoby grafika neexistovala. Není-li k dispozici grafický
procesor, nemá smysl používat toto rozhraní v emulaci pro CPU. To je
případ např. virtuálních počítačů zcela bez GPU nebo přístupu k
pracovní ploše dálkově přes softwarovou emulaci grafiky.
Není rozumné používat v aplikaci hodně velkých OpenGL
vykreslovacích kontextů. Každý kontext si s sebou nese front a back
buffer, Z buffer, stencil buffer, textury, rasterizované fonty,
vertex buffer objekty, pixel buffer objekty atd. Taková koncepce pak
spotřebuje velké množství grafické paměti.
Obsazení grafické paměti můžete ověřit v Task
Manageru
Jedna z posledních detekovaných chyb se vyskytuje v
ovladačích Intel. V panelech s vykreslovačem OpenGL a 2D vektorovou
kresbou se při pohybech myši nad objekty prochází struktura kresby,
aby se zjistilo, nad kterými objekty se kurzor myši nachází, aby se
mohl v případě potřeby změnit a indikovat tak možnost stisknutí
tlačítka myši. Při velkém množství grafických dat se při tomto
ovladač občas zhroutí. ---- OpenGL version ----
Intel
Intel(R) HD Graphics 530
4.6.0 - Build 31.0.101.2115 S tímto čipem a ovladače se chyba
projevuje, ---- OpenGL version ----
Intel
Intel(R) HD Graphics 4600
4.3.0 - Build 20.19.15.4531 zatímco se starším ovladačem je všechno
v pořádku. ---- OpenGL version ----
ATI Technologies Inc.
AMD Radeon(TM) Graphics
4.6.0 Compatibility Profile Context 23.11.1.231017
---- OpenGL version ----
NVIDIA Corporation
NVIDIA GeForce RTX 3070/PCIe/SSE2
4.6.0 NVIDIA 551.23 Reakce kursoru myši na pozici nad kresbou S grafickými adaptéry ATI-AMD a NVIDIA vše funguje
bezproblémově.
Je to vcelku jednoduché, máte-li v počítači grafický procesor,
můžete používat grafiku prakticky bez omezení. Máte-li sdílenou
grafiku Intel, je dobré si před nasazením aplikace vyzkoušet, co to
snese. Na převážné většině počítačů vše bude správně fungovat. I na
grafice Intel vše začalo fungovat správně, když update operačního
systému instaloval novější ovladač grafiky. Předchozí verze se
hroutila na zcela nevinném volání glScalef( x, y, z ).
Na tomto banálním volání grafického rozhraní se ukazoval
problém ovladače
RC
|