Moravské přístroje, a. s., zdroj: https://www.mii.cz/art?id=1163&lang=405, vytištěno: 19.06.2024 22:49:59

Hlavní stránkaPodporaRady pro tvorbu aplikací

Tipy pro lepší aplikace - musíme myslet na možnosti cílového počítače
 Control Web je po stránce počítačové grafiky skvěle vybaven. U většiny aplikací stačí vybrat vykreslovač a případně se rozhodnou mezi panelem a scénou. V případě rozsáhlých aplikací je ale nutno respektovat možnosti cílového počítače.

Aplikace obvykle vytváříme na dobře vybaveném počítači, který má nejen dostatek RAM, ale i nějaký grafický akcelerátor s vyhrazenou grafickou pamětí. Pak není problém vytvořit aplikaci, která spotřebuje např. 2GB grafické paměti. Všechno běží svižně a plynule, problém nastane až tehdy, když tuto aplikaci nasadíme do provozu např. na malém jednodeskovém počítači s malou pamětí a se sdílenou grafikou.

  • Spotřebu grafické paměti lze velmi ovlivnit strukturou aplikace, převážně omezením počtu vytvářených grafických kontextů. Vkládáme-li do panelu s GDI vykreslovačem 3D virtuální přístroje, pro každý z nich je vytvořen samostatný vykreslovací kontext. Každý OpenGL kontext má pak vlastní front buffer, back buffer, Z buffer, stencil buffer, sadu přeložených shaderů, texturové objekty, vetrex buffer objekty, správce fontů atd. atp. Máme-li dostatek grafické paměti, není problém, jinak s kontexty musíme šetřit.

  • Smyslem používání OpenGL je nejen hezká grafika, ale především využití schopností a výkonu grafického procesoru. Akcelerovat grafiku bez grafického procesoru nelze.

  • Je-li aplikace určena pro počítač, ke kterému se bude přistupovat pouze přes vzdálenou pracovní plochu, pak je nutno mít na mysli, že veškeré grafika bude pouze softwarově emulována prostřednictvím CPU. Navíc otevřený RDP server představuje značné bezpečnostní riziko. Výrazně bezpečnější je přístup přes šifrovaný protokol HTTPS a navíc zde nejsou omezeny ani možnosti grafiky.

  • Bude-li aplikace provozována na virtuálním počítači, nebude k dispozici grafický procesor.

  • Nebude-li ke vzdálenému počítači připojen monitor, bude nastaveno minimální rozlišení grafické karty. V tomto případě postačí připojit malý a levný emulátor monitoru do HDMI konektoru.

Vypadá to hezky, ale je tam 45 vykreslovacích kontextů na kousku GDI panelu

Vypadá to hezky, ale je tam 45 vykreslovacích kontextů na kousku GDI panelu

1.3GB grafické paměti není mnoho, pokud jí máme 8GB

1.3GB grafické paměti není mnoho, pokud jí máme 8GB

6.1GB paměti také není ani pro všechny spuštěné procesy nejméně

6.1GB paměti také není ani pro všechny spuštěné procesy nejméně

Použijeme-li počítač vybavený grafickým akcelerátorem, získáváme mnoho zajímavých možností.

  • Velká část grafiky běží zcela paralelně v grafickém procesoru a oddělené grafické paměti a nezatěžuje CPU počítače.

  • V aplikacích s kamerami a strojovým viděním můžeme pracovat s algoritmy a funkcemi, které jsou prostřednictvím CPU nerealizovatelné.

  • Můžeme využívat prostorovou 3D scénu a spoustu grafických efektů.

  • Máme k dispozici i virtuální a rozšířenou realitu.

I v případě, že cílový počítač má pouze sdílenou grafiku, je zde řada možností, které je možno využít:

  • Především se ujistěte, že s na cílové grafice s daným grafickým ovladačem vše vůbec běží.

  • I při sdílené grafice je mnoho grafických příkazů řešeno akcelerovaně integrovaným grafickým procesorem.

  • Zjistěte, kolik grafické paměti aplikace pro svůj běh potřebuje a ujistěte se, že je na cílovém počítači k dispozici.

  • V aplikaci raději nepoužívejte velké množství samostatných grafických kontextů.

  • V případě, že akcelerovaná grafika a OpenGL není na cílovém počítači funkční, používejte v aplikaci pouze softwarově vykreslované panely GDI, GDIplus a Direct2D.

RC