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

Zlepšení kvality a výkonu grafiky v systému Control Web
 Není to ani tak dávno, co jsem zde psal, že architektura grafiky v prostředí systému Control Web, zvláště pak v souvislosti s abstrakcí ve formě grafických vykreslovačů, je ideálem, kterého jsme po dlouhou dobu chtěli dosáhnout. Nyní byl vykreslovací systém dále zdokonalen podle poznatků, které vyplynuly z praktického provozu aplikací s webovými klienty. Stáhněte si Control Web 8.0.29, zlepšení opravdu stojí za to.

První, zcela skrytou, ale pro výkon docela významnou změnou, byla optimalizace práce s bitmapovými obrázky v konvenčních 2D virtuálních přístrojích. Jsou-li tyto obrázky vykreslovány prostřednictvím některých vykreslovačů, jsou bitmapy uloženy jako objekty do grafické paměti a při každém dalším překreslení jsou pak velice rychle vykresleny bez jakékoliv zátěže CPU a spotřeby paměti CPU. V některých aplikacích pak ušetříme paměť počítače pro uložení obrázků a především výrazně zrychlíme překreslování. 3D přístroje takto pracují od počátku a nyní bylo takto optimalizovány i veškeré klasické 2D virtuální přístroje. Tato úprava je přínosem pro veškeré aplikace, nejen pro ty s webovým rozhraním.

Grafika GDI standardu byla vždy ve webových klientech přesně zobrazována

Grafika GDI standardu byla vždy ve webových klientech přesně zobrazována

Výrazně rozsáhlejší změnou je pak nová architektura systému pro vykreslování obrázků, které webový server systému Control Web posílá svým klientům. Tvorba dat pro webové klienty není tak jednoduchou úlohou, jak by se na první pohled mohlo zdát. Klientů může být více a navíc se každý člověk pomocí svého webového prohlížeče může dívat na něco jiného a pracovat s jinou částí běžícího aplikačního programu. Panely s virtuálními přístroji, se kterými pracuje vzdálený webový klient mohou být v aplikaci zrovna skryté a neviditelné. Každý klient musí co nejdříve od svého požadavku dostat právě svá aktuální data. Operátor u webového prohlížeče pak vidí přesný a aktuální stav panelů.

Standardní 2D panel s OpenGL vykreslovačem dokáže v maximální kvalitě zobrazovat jak 2D, tak i 3D virtuální přístroje včetně transparence a řady grafických efektů

Standardní 2D panel s OpenGL vykreslovačem dokáže v maximální kvalitě zobrazovat jak 2D, tak i 3D virtuální přístroje včetně transparence a řady grafických efektů

I takový panel je ve vzdáleném webovém prohlížeči zobrazován v plné kvalitě

I takový panel je ve vzdáleném webovém prohlížeči zobrazován v plné kvalitě

Požadavky na data od webových klientů také přicházejí zcela asynchronně bez jakékoliv relace s časováním a algoritmy v běžící aplikaci v prostředí systému Control Web. Vykreslovací systém musí koordinovat vykreslování na základě požadavků běžící aplikace a požadavků vzdálených WWW klientů. V případě OpenGL vykreslovače 3D scény, který pracuje systémem klient-server ve vlastním vláknu, také musí koordinace vykreslování řešit synchronizaci výpočetních vláken. Vykreslování grafiky podle požadavků webového servery tedy vždy nějak musí ovlivňovat běh a časování běžícího aplikačního programu. Proto je velmi důležité, aby všechny tyto mechanismy pracovaly maximálně efektivně z hlediska spotřeby výpočetního výkonu i operační a grafické paměti a aby běh aplikace byl ovlivňován pokud možno co nejméně.

Určitou komplikací je také skutečnost, že velká část grafiky, zvláště je-li její vykreslování akcelerované pomocí grafického procesoru, je svázána s tzv. vykreslovacím kontextem. V rámci tohoto vykreslovacího kontextu mají vykreslované virtuální přístroje velké množství grafických dat uloženo v paměti grafického procesoru. Jen díky tomu může být vykreslování tak rychlé. Tato data musí být vytvořena samostatně pro každý existující grafický kontext. Proto důležitým požadavkem pro mechanismy vykreslování bylo to, aby každé vykreslení na požadavek www klientů proběhlo s existujícími daty daného vykreslovacího kontextu bez ohledu na to, je-li tento kontext zrovna na obrazovce počítače viditelný či nikoliv. Obrázky pro webové klienty jsou vytvářeny s maximálním využitím hardwarové akcelerace.

Výsledkem je vykreslovací systém pro externí klienty, který nejen poskytuje maximální kvalitu obrazu, ale především je velmi rychlý a proti předchozímu řešení potřebuje pro svou činnost výrazně méně paměti.

Také 3D scéna je ve vzdáleném webovém prohlížeči zobrazována v originální kvalitě

Také 3D scéna je ve vzdáleném webovém prohlížeči zobrazována v originální kvalitě

Srovnáme-li si spotřebu systémových zdrojů u velké aplikace s velkým množstvím grafických panelů s 2D i 3D virtuálními přístroji a se dvěma webovými servery se spotřebou jednoho standardního webového klienta, vidíme, že Control Web je docela úsporný systém.

Spotřeba systémových zdrojů rozsáhlé aplikace se dvěma webovými servery v prostředí Control Web a částečného náhledu na tuto aplikaci prostřednictvím webového prohlížeče Firefox

Spotřeba systémových zdrojů rozsáhlé aplikace se dvěma webovými servery v prostředí Control Web a částečného náhledu na tuto aplikaci prostřednictvím webového prohlížeče Firefox

Dalším rozšířením, které přivítají především ti, kteří vytváření vlastní vektorové obrázky pomocí vestavěného editoru, je možnost veškerou grafiku vyexportovat ve formátu SVG. Kromě toho, že lze vektorovou grafiku z formátu SVG importovat, lze nyní i do SVG exportovat obrázky, které jsme ve vývojovém prostředí nakreslili nebo upravili a které máme uloženy ve formátu CWG.

Editor vektorové grafiky nám kromě importu nabízí také možnost exportovat své obrázky do formátu SVG

Editor vektorové grafiky nám kromě importu nabízí také možnost exportovat své obrázky do formátu SVG

Veškeré uvedené novinky a změny jsou skrytu uvnitř systému. Pro vývoj a provozování aplikací se nic nemění - není tedy potřeba něco dělat jinak ani se nic nového učit. Aplikace zůstanou stejné, jen jejich běh bude plynulejší a jejich vzhled ve vzdálených webových prohlížečích kvalitnější.

Roman Cagaš

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