EN | CZ
O společnostiProduktyObchodPodpora
Moravské přístroje
Hlavní stránka
O společnosti
Stažení software
Stažení dokumentů
Produkty
Control Web
Strojové vidění VisionLab
Kamery DataCam a osvětlovače DataLight
Průmyslový počítačový systém DataLab
Vědecké kamery
Speciální technika
Ceník
Aktivace produktů
Služby
Školení
Zakázková řešení
Podpora
Volba kamery a objektivu pro Strojové vidění
Control Web - Ukázkové aplikace

Hlavní stránkaProduktyProgramový systém Control WebČlánky

Tipy pro tvorbu aplikací - nepoužívejte GDI tam, kde to není nutné
 Tento tip je inspirován stále neubývajícím množstvím aplikací s pomalou a zubatou grafikou a nevhodnou vizuální strukturou virtuálních přístrojů.

Systém Control Web umožňuje rozsáhlé možnosti volby grafických vykreslovačů a vůbec nastavení grafiky. Překvapující pro nás je fakt, že se stále v tak velké míře setkáváme s aplikačními programy, které prakticky výhradně používají grafiku GDI (Graphics Device Interface).

  • V GDI panelech je náš aplikační program pomalejší a současně vypadá mnohem hůře, než by mohl. Jenže v prostředí Control Web je možno neomezeně vytvářet aplikace podle vlastního rozhodnutí. Dosud jsme se nerozhodli, zda-li je správné právě toto nějak omezit. Možná bychom přispěli k lepším volbám grafických vykreslovacích systémů a možná bychom nepřístojně omezili možnosti vytvářet aplikace bez jakýchkoliv omezení.

    Rozdíl mezi kvalitou grafiky mezi GDI a jinými vykreslovači je nepřehlédnutelný

    Rozdíl mezi kvalitou grafiky mezi GDI a jinými vykreslovači je nepřehlédnutelný

    Grafické vývojové prostředí přitom minimálně trvale vede a nabádá autora, aby se alespoň zamyslel, chce-li opravdu použít panel s GDI vykreslovačem. Chceme-li vložit virtuální přístroj, který používá grafiku, která by mimo GDI vykreslování opravdu vypadala o hodně lépe, pak při vložení takového přístroje do GDI panelu nabídne takovýto výběr:

    Vkládáme-li do panelu virtuální přístroj používající vektorovou grafiku, navrhne nám vývojové prostředí změnu druhu vykreslovače

    Vkládáme-li do panelu virtuální přístroj používající vektorovou grafiku, navrhne nám vývojové prostředí změnu druhu vykreslovače

  • Jestliže někdo při vkládání virtuálních přístrojů do panelu opakovaně potvrzuje, že si rozhodně nepřeje změnit grafický vykreslovač na nějaký vhodnější, pak nezbývá, než jeho volbu akceptovat.

  • Velmi časté v aplikacích, které se k nám dostanou je také jejich špatná vizuální struktura. Virtuální přistroje jsou např. v pozadí Windows nebo hierarchicky nižším panelu. Vzhledem k tomu, že GDI grafické rozhraní má trvale problémy s pořadím vykreslování jednotlivých objektů, může se takováto aplikace chovat poněkud záhadně - někdy je přístroj vidět a někdy se propadne do pozadí.

  • Trochu matoucí pro někoho mohou být případy, kdy do GDI panelu vložíme 3D přístroj. Tento se i zde vykreslí hezky. To je ale za cenu, že každý takto umístěný virtuální přístroj si vytvoří samostatný vykreslovací kontext jen pro sebe. Každý vykreslovací kontext si pro sebe vytvoří řadu bufferů a grafických objektů a je-li kontextů příliš mnoho, např. stovky až tisíce, představují značnou zátěž pro paměť i grafickou paměť i pro výkon procesorů.

  • Vše máme plně pod kontrolou a často záleží na našem rozhodnutí. V prostředí systému Control Web máme mnoho možností, kdy vzhledem k velmi bohatým možnostem můžeme něco pokazit. Např. neomezená možnost psaní kódu procedur je jistě skvělá věc. Díky těmto schopnostem je možno vyřešit řadu požadavků nebývale efektivně a elegantně. Na druhé straně ale lze vytvářený program také udělat hodně špatně. Často s kolegy přemýšlíme, lze-li tomu nějak zabránit a neomezit přitom možnosti tvorby dobrých programů. Např. se k nám dostalo několik aplikací, které obsahovaly několik desítek nekonečných smyček. Zde je s podivem, že i takto naprogramovaný systém stále nějak běžel. To jednak ukazuje velkou odolnost systému vůči chybným programovým konstrukcím, ale vše má své meze.

RC

 
 | O společnosti | Produkty | Podpora | Stažení software | Stažení dokumentů | 
Moravské přístroje, a.s., Masarykova 1148, Zlín-Malenovice, 76302