Vrstvy vykreslování grafiky

Úroveň vykreslování definuje úroveň schopností a výkonu grafického hardwaru pro zařízení, na kterém běží aplikace WPF.

Grafický hardware

Funkce grafického hardwaru, které mají největší vliv na úrovně vykreslování, jsou:

  • Velikost paměti RAM videa na grafickém hardwaru určuje velikost a počet vyrovnávacích pamětí, které lze použít pro kompozitování grafiky.

  • Pixel Shader A pixel shader je grafická funkce pro zpracování, která počítá efekty na pixely. V závislosti na rozlišení zobrazené grafiky může být pro každý rámeček zobrazení potřeba zpracovat několik milionů pixelů.

  • Vertex Shader A vertex shader je grafická funkce pro zpracování, která provádí matematické operace s daty vrcholu objektu.

  • Podpora vícetextu podpory vícetextu odkazuje na schopnost použít dvě nebo více odlišných textur během operace prolnutí u 3D grafického objektu. Stupeň podpory vícetextu je určen počtem vícetextových jednotek na grafickém hardwaru.

Definice vykreslovací vrstvy

Funkce grafického hardwaru určují schopnost vykreslování aplikace WPF. Systém WPF definuje tři úrovně vykreslování:

  • Vykreslování vrstvy 0 Bez hardwarové akcelerace grafického hardwaru Všechny grafické funkce používají akceleraci softwaru. Úroveň verze DirectX je menší než verze 9.0.

  • Vykreslování vrstvy 1 Některé grafické funkce používají hardwarovou akceleraci grafického hardwaru. Úroveň verze DirectX je větší nebo rovna verzi 9.0.

  • Vykreslování vrstvy 2 Většina grafických funkcí používá hardwarovou akceleraci grafického hardwaru. Úroveň verze DirectX je větší nebo rovna verzi 9.0.

Tato RenderCapability.Tier vlastnost umožňuje načíst úroveň vykreslování za běhu aplikace. Pomocí vrstvy vykreslování určíte, jestli zařízení podporuje určité hardwarové akcelerované grafické funkce. Vaše aplikace pak může za běhu využívat různé cesty kódu v závislosti na úrovni vykreslování podporované zařízením.

Vykreslování vrstvy 0

Hodnota úrovně vykreslování 0 znamená, že pro aplikaci na zařízení není k dispozici žádná hardwarová akcelerace grafického hardwaru. Na této úrovni byste měli předpokládat, že všechny grafiky budou vykresleny softwarem bez hardwarové akcelerace. Funkce této úrovně odpovídá verzi DirectX, která je menší než 9.0.

Rendering Tier 1 a Rendering Tier 2

Poznámka:

Počínaje rozhraním .NET Framework 4 byla úroveň vykreslování 1 předdefinována tak, aby obsahovala pouze grafický hardware, který podporuje DirectX 9.0 nebo vyšší. Grafický hardware, který podporuje DirectX 7 nebo 8, je teď definovaný jako vykreslovací vrstva 0.

Hodnota vykreslovací vrstvy 1 nebo 2 znamená, že většina grafických funkcí WPF bude používat hardwarovou akceleraci, pokud jsou k dispozici potřebné systémové prostředky a nevyčerpaly se. To odpovídá verzi DirectX, která je větší nebo rovna 9.0.

Následující tabulka ukazuje rozdíly v požadavcích na hardware grafiky pro vykreslování vrstvy 1 a vykreslování vrstvy 2:

Funkce Úroveň 1 Úroveň 2
Verze DirectX Musí být větší nebo rovno 9,0. Musí být větší nebo rovno 9,0.
Video RAM Musí být větší nebo rovna 60 MB. Musí být větší nebo rovna 120 MB.
Pixel shader Úroveň verze musí být větší nebo rovna 2.0. Úroveň verze musí být větší nebo rovna 2.0.
Shader vrcholů Žádný požadavek. Úroveň verze musí být větší nebo rovna 2.0.
Vícetextové jednotky Žádný požadavek. Počet jednotek musí být větší nebo roven 4.

Následující funkce a možnosti jsou hardwarově akcelerované pro vykreslování vrstvy 1 a úroveň vykreslování 2:

Funkce Notes
2D vykreslování Podporuje se většina 2D vykreslování.
3D rasterizace Podporuje se většina 3D rasterizace.
3D anisotropní filtrování WPF se pokusí použít anisotropní filtrování při vykreslování 3D obsahu. Anisotropní filtrování odkazuje na zvýšení kvality obrazu textur na povrchech, které jsou daleko a strmě šikmé vzhledem k fotoaparátu.
Mapování 3D MIP WPF se pokusí použít mapování MIP při vykreslování 3D obsahu. Mapování MIP zlepšuje kvalitu vykreslování textury, když textura zabírá menší pole zobrazení v Viewport3D.
Paprskové přechody I když se podporuje, vyhněte se použití RadialGradientBrush u velkých objektů.
3D výpočty osvětlení WPF provádí osvětlení jednotlivých vrcholů, což znamená, že intenzita světla musí být vypočítána na každém vrcholu pro každý materiál použitý na síť.
Vykreslování textu Vykreslování písma subpixel používá dostupné pixelové shadery na grafickém hardwaru.

Následující funkce a možnosti jsou akcelerované pouze pro vykreslování vrstvy 2:

Funkce Notes
3D anti-aliasing 3D anti-aliasing je podporován pouze v operačních systémech, které podporují model ovladače Windows Display Driver Model (WDDM), například Windows Vista a Windows 7.

Následující funkce a možnosti nejsou akcelerované hardwarem:

Funkce Notes
Tištěný obsah Veškerý tištěný obsah se vykresluje pomocí softwarového kanálu WPF.
Rasterizovaný obsah, který používá RenderTargetBitmap Jakýkoli obsah vykreslený pomocí Render metody RenderTargetBitmap.
Obsah s dlaždicemi, který používá TileBrush Libovolný dlaždicovaný obsah, ve kterém TileMode je vlastnost nastavena TileBrush na Tile.
Povrchy, které překračují maximální velikost textury grafického hardwaru U většiny grafických hardwarů mají velké plochy velikost 2048x2048 nebo 4096 × 4096 pixelů.
Jakákoli operace, jejíž požadavek na paměť RAM videa překračuje paměť grafického hardwaru. Využití paměti RAM aplikace můžete monitorovat pomocí nástroje Perforátor, který je součástí sady VÝKON WPF v sadě Windows SDK.
Vrstvené okna Vrstvené okna umožňují aplikacím WPF vykreslovat obsah na obrazovku v ne obdélníkovém okně. V operačních systémech, které podporují model ovladače Windows Display Driver Model (WDDM), například Windows Vista a Windows 7, jsou vrstvené okna hardwaru akcelerována. V jiných systémech, například Windows XP, se vrstvené okna vykreslují softwarem bez hardwarové akcelerace.

Vrstvené okna ve WPF můžete povolit nastavením následujících Window vlastností:

- WindowStyle = None
- AllowsTransparency = true
- Background = Transparent

Další prostředky

Následující zdroje informací vám můžou pomoct analyzovat charakteristiky výkonu vaší aplikace WPF.

Nastavení registru pro vykreslení grafiky

WPF poskytuje čtyři nastavení registru pro řízení vykreslování WPF:

Nastavení Popis
Možnost Zakázat hardwarovou akceleraci Určuje, jestli má být povolená hardwarová akcelerace.
Maximální hodnota vícevzorkového pole Určuje stupeň vícevzorkování pro antialiasing 3D obsahu.
Požadované nastavení data ovladače videa Určuje, jestli systém zakáže hardwarovou akceleraci ovladačů vydaných před listopadem 2004.
Použít možnost rasterizátoru odkazů Určuje, zda má WPF použít odkaz rastrovač.

K těmto nastavením může přistupovat jakýkoli externí konfigurační nástroj, který ví, jak odkazovat na nastavení registru WPF. Tato nastavení lze také vytvořit nebo upravit tak, že k hodnotám přistupujete přímo pomocí Editoru registru systému Windows. Další informace naleznete v tématu Grafické vykreslování registru Nastavení.

Nástroje pro profilaci výkonu WPF

WPF poskytuje sadu nástrojů pro profilaci výkonu, které umožňují analyzovat chování vaší aplikace za běhu a určit typy optimalizací výkonu, které můžete použít. Následující tabulka uvádí nástroje pro profilaci výkonu, které jsou součástí nástroje Windows SDK, WPF Performance Suite:

Nástroj Popis
Perforator Slouží k analýze chování vykreslování.
Visual Profiler Slouží k profilaci používání služeb WPF, jako je rozložení a zpracování událostí, podle prvků ve vizuálním stromu.

Sada WPF Performance Suite poskytuje bohaté grafické zobrazení dat o výkonu. Další informace o nástrojích pro výkon WPF naleznete v tématu WPF Performance Suite.

Nástroj pro diagnostiku rozhraní DirectX

Nástroj pro diagnostiku DirectX Dxdiag.exe je navržen tak, aby vám pomohl řešit problémy související s DirectX. Výchozí instalační složka diagnostického nástroje DirectX je:

~\Windows\System32

Při spuštění nástroje pro diagnostiku rozhraní DirectX obsahuje hlavní okno sadu karet, které umožňují zobrazit a diagnostikovat informace související s Rozhraním DirectX. Například karta Systém poskytuje systémové informace o vašem počítači a určuje verzi rozhraní DirectX, která je nainstalována v počítači.

Screenshot: DirectX Diagnostic Tool
Hlavní okno nástroje pro diagnostiku rozhraní DirectX

Viz také