čtvrtek 15. ledna 2009

Grafická karta pro Inventor

Historicky Inventor používal pouze OpenGL akceleraci jako jediné možné řešení pro HW akceleraci na grafických kartách, a uživatelé byli tímto nepřímo nuceni do „drahých“ profesionálních grafických karet. Výrobci grafických karet byli s touto situací spokojeni s tím, že uživatele běžných (kancelářských, herních) grafických karet ujišťovali v tom, že tyto grafické karty nedisponují plnou implementací OpenGL a že Inventor (a obecně i většina jiných profesionálních CAD aplikací) na těchto běžných grafických kartách nepracuje vždy dobře. Odkazovali tak tyto uživatele do sféry drahých „profesionálních“ grafických karet, které již disponovaly plnou implementací OpenGL protokolu.
Direct3D je jiné. Jde o separované 3D grafické aplikační rozhraní (API), jehož specifikace je kontrolována Microsoftem. A jak jinak – Microsoft tvoří specifikace, které jak spotřební (kancelářské, herní), tak i profesionální (workstation) grafické karty, které chtějí disponovat WHQL (Windows Hardware Quality Lab) certifikací musí splňovat. Aby takováto karta obdržela WHQL certifikaci, skutečně prochází testy v laboratořích Microsoftu, kde se testuje, zda specifikacím Direct3D skutečně odpovídá. Tato certifikace pak říká, že konkrétní ovladač v kombinaci s grafickou kartou bude správně fungovat s aplikacemi využívajícími tohoto standardu – jak 2D (GDI, GDI+), tak i ve 3D.
Pokud se vrátíme do historie Inventoru, tak ve verzi 11 se v Inventoru objevila možnost zvolit akceleraci jak OpenGL, tak nově i Direct3D. Toto sekundárně znamenalo razantní zvýšení počtu grafických karet, které uživatelé mohli zvolit a které nyní „certifikovaně“ pracovaly s Inventorem. Dalším efektem bylo, že uživatelé mohli úspěšně pracovat i na levných řešeních typu integrovaných grafických karet na základní desce (např. Intel, ATI, nVidia). Autodesk testoval na novém direct3D rozhraní řadu spotřebních grafických karet se specifikací Microsoft WHQL, kdy jediným rozdílem je výkon takovýchto karet, ne jejich podpora či stabilita. Srovnáme-li to s OpenGL řešením, kde na spotřebních grafických kartách není plná funkcionalita, karty na Direct3D rozhraní mají plnou funkcionalitu vždy, pouze výkon (rychlost) těchto karet je nižší.
Autodesk jako největší hráč na trhu CAD řešení je dokonce tak silným partnerem pro Microsoft, že při testování ve WHQL laboratořích je součástí testů nových karet a ovladačů i test pro CAD oblast. Tímto testováním prochází všechny grafické platformy různých výrobců, jak tedy profesionální „hi-cost“, spotřební či integrovaná „low-cost“ řešení.
V čem je tedy přínos Direct3D pro spotřebitele a vývojáře aplikací? Jednoznačně v přesně definovaném standardu. OpenGL jako protokol navržený SGI (Silicon Graphisc) byl protokol HW vývojářů. Každý výrobce grafických karet sám tento protokol rozšiřoval a upravoval, ve výsledku bylo vydáno více než 350 extenzí tohoto protokolu, což se pochopitelně nelíbilo SW vývojářům, kteří své kódy museli optimalizovat a testovat pomalu pro každou grafickou kartu.
Direct3D standard ve svých specifikacích Direct3D 9 pro Win 2K a WinXP a Direct3D 10 pro Win Vista vyšel naopak často z požadavků SW vývojářů a dodnes se snaží tento standard vytvářet ve shodě s nimi. Tento protokol je logicky pro vývojáře jednodušší, protože vytváří obecné rozhraní bez ohledu na konkrétního výrobce grafického hardware a jeho speciality v implementaci, a umožňuje použití pokročilejších funkcí, než dnes již velmi zastaralý protokol OpenGL.
Sekundárním efektem je u aplikací využívající Direct3D protokol výrazné zvýšení stability aplikací při grafických operacích – jistě mi dáte zapravdu, že i v Inventoru se s pády aplikace způsobenými problémy s grafickou kartou na rozdíl od minulosti téměř nesetkáváte.
Jak prozřetelná byla orientace Autodesku na Direct3D protokol ostatně napovídá i to, že protokol OpenGL již není podporován ve Win Vista, což způsobilo nemalé problémy konkurenčním CAD řešením (pokles výkonnosti zobrazování z důvodu různých SW emulací OpenGL).

Další informace naleznate např. zde.

Žádné komentáře:

Okomentovat