Moravian instruments
Vyhledávání
Hlavní menu
Hlavní stránka
O společnosti
Stažení software
Stažení dokumentů
Obchodní partneři
Produkty
Programový systém Control Web
Strojové vidění VisionLab
Kamery DataCam a  osvětlovače DataLight
Průmyslový počítačový systém DataLab
Vědecké CCD kamery
Speciální technika
Ceník
Aktivace produktů
Služby
Školení
Zakázková řešení
Podpora
Rady pro tvorbu aplikací


Hlavní stránka  Podpora  Články

Chyba v ovladačích grafických karet NVidia verze 388.XX a 390.XX
 V nových ovladačích verze 388.XX a 390.XX grafických karet NVidia se objevil problém, který způsobuje deformaci obrazu při zmenšení vlastnického okna na pozadí Windows pod velikost okna s OpenGL vykreslovacím kontextem. Na starších ovladačích, máme to vyzkoušeno např. na 382.05, vše funguje správně. Tento problém se také netýká ovladačů pro grafické adaptéry Intel a AMD.

V OpenGL vykreslovači systému Control Web je testováno a více či méně složitě ošetřováno několik desítek různých chyb a nekorektností, které se vyskytovaly v některých verzích ovladačů jednotlivých výrobců. Snaha o ošetření tohoto problému ale vede na snížení kvality obrazu takovými artefakty, že jsem se rozhodli již vyvinutou záplatu raději tentokrát do systému nedávat.

Okno s OpenGL vykreslovačem je vloženo do okna na pozadí Windows

Okno s OpenGL vykreslovačem je vloženo do okna na pozadí Windows

Problém se objeví jen tehdy, když je okno v pracovní ploše Windows zmenšeno pod velikost v něm (kdekoliv v stromové hierarchii) umístěného okna s vykreslovacím kontextem. Je-li přímo okno s kontextem na desktopu, vše funguje správně bez ohledu na jeho zmenšení. Autoři ovladače, pravděpodobně vedeni snahou o optimalizaci množství přenášených dat mezi obrazovým bufferem v grafické paměti a pamětí obrazovky, sice správně okopírují data jen z viditelné části obrazového bufferu, ale do paměti obrazovky je pak expandují, jako by měla rozměr celého existujícího okna s kontextem. Obraz je pak bitmapově zvětšený se všemi z tohoto procesu vyplývajícími artefakty.

Při zmenšení okna na pozadí Windows pod velikost okna s OpenGL vykreslovačem dojde ke zvětšování bitmapy z obrazového bufferu

Při zmenšení okna na pozadí Windows pod velikost okna s OpenGL vykreslovačem dojde ke zvětšování bitmapy z obrazového bufferu

Proti této činnosti ovladače je pak těžko nějak bojovat. Můžeme se sice pokusit sestavit opačné transformace k této deformaci, ale ty pak mají za následek nutnost zmenšení obrazu v bufferu, které vede na další znehodnocení kvality při expanzi bitmapy ovladačem. A to nemluvě o problému s třetím rozměrem. Nastavení hloubky při různých poměrech zmenšování v osách X a Y nelze dobře vyřešit.

Korekční záplata dokáže udržet pozici a velikost, ale kvalita obrazu je nepřijatelná

Korekční záplata dokáže udržet pozici a velikost, ale kvalita obrazu je nepřijatelná

Korekční zásahy sice udrží vykreslované objekty ve správných pozicích a velikostech, ale pokles kvality zobrazení vypadá jako chyba v systému Control Web. Proto jsem se tentokrát rozhodli záplatu do našeho systému nedávat.m Je jich tam i tak již docela dost. Ale ať závěr nevyznívá příliš pesimisticky, kvalita grafických ovladačů s postupem času jednoznačně stále roste.

Navíc tento problém se velmi pravděpodobně neprojení v žádné běžící aplikaci. Není žádný důvod mít okno s vykreslovačem větší než koncové vlastnické okno na pozadí Windows. Může nám pouze trochu znepříjemnit práci v integrovaném vývojovém prostředí pří vývoji aplikace. Snad to NVidia brzy opraví, informace jsme jim pro klid našeho svědomí poslali ...

Roman Cagaš

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