Delen via


Grafische weergave-niveaus

Een renderinglaag definieert een niveau van grafische hardwaremogelijkheden en -prestaties voor een apparaat waarop een WPF-toepassing wordt uitgevoerd.

Grafische hardware

De functies van de grafische hardware die het meest van invloed zijn op de renderinglaagniveaus zijn:

  • Video RAM-geheugen De hoeveelheid videogeheugen op de grafische hardware bepaalt de grootte en het aantal buffers dat kan worden gebruikt voor het compositeren van afbeeldingen.

  • Pixel Shader A pixel shader is een grafische verwerkingsfunctie waarmee effecten per pixel worden berekend. Afhankelijk van de resolutie van de weergegeven afbeeldingen, kunnen er enkele miljoenen pixels zijn die voor elk weergaveframe moeten worden verwerkt.

  • Vertex Shader Een vertex shader is een grafische verwerkingsfunctie die wiskundige bewerkingen uitvoert op de vertexgegevens van het object.

  • Ondersteuning voor multitexture ondersteuning voor multitexture verwijst naar de mogelijkheid om twee of meer verschillende patronen toe te passen tijdens een mengbewerking op een 3D-grafisch object. De mate van ondersteuning voor multitexture wordt bepaald door het aantal multitexture-eenheden op de grafische hardware.

Definitie van renderinglaag

De functies van de grafische hardware bepalen de renderingmogelijkheden van een WPF-toepassing. Het WPF-systeem definieert drie renderinglagen:

  • Rendering Tier 0 Geen hardwareversnelling voor afbeeldingen. Alle grafische functies maken gebruik van softwarerendering. Het Niveau van de DirectX-versie is kleiner dan versie 9.0.

  • Renderingniveau 1 Sommige grafische functies maken gebruik van grafische hardwareversnelling. Het Niveau van de DirectX-versie is groter dan of gelijk aan versie 9.0.

  • Rendering Tier 2 De meeste grafische eigenschappen maken gebruik van grafische hardwareversnelling. Het Niveau van de DirectX-versie is groter dan of gelijk aan versie 9.0.

Met RenderCapability.Tier de eigenschap kunt u de renderinglaag ophalen tijdens runtime van de toepassing. U gebruikt de renderinglaag om te bepalen of het apparaat ondersteuning biedt voor bepaalde hardwareversnelde grafische functies. Uw toepassing kan vervolgens verschillende codepaden uitvoeren, afhankelijk van de renderinglaag die door het apparaat wordt ondersteund.

Rendering laag 0

Een renderinglaagwaarde van 0 betekent dat er geen grafische hardwareversnelling beschikbaar is voor de toepassing op het apparaat. Op dit niveau van de laag moet u ervan uitgaan dat alle afbeeldingen worden weergegeven door software zonder hardwareversnelling. De functionaliteit van deze laag komt overeen met een DirectX-versie die kleiner is dan 9.0.

Rendering Niveau 1 en Rendering Niveau 2

Opmerking

Vanaf .NET Framework 4 is renderinglaag 1 opnieuw gedefinieerd om alleen grafische hardware op te nemen die DirectX 9.0 of hoger ondersteunt. Grafische hardware die DirectX 7 of 8 ondersteunt, wordt nu gedefinieerd als renderinglaag 0.

Een renderinglaagwaarde van 1 of 2 betekent dat de meeste grafische functies van WPF hardwareversnelling gebruiken, mits de benodigde systeembronnen beschikbaar zijn en niet uitgeput zijn. Dit komt overeen met een DirectX-versie die groter is dan of gelijk is aan 9.0.

In de volgende tabel ziet u de verschillen in grafische hardwarevereisten voor renderingniveau 1 en renderingniveau 2.

Eigenschap Niveau 1 Niveau 2
DirectX-versie Moet groter dan of gelijk zijn aan 9,0. Moet groter dan of gelijk zijn aan 9,0.
videogeheugen Moet groter zijn dan of gelijk zijn aan 60 MB. Moet groter zijn dan of gelijk zijn aan 120 MB.
Pixel-shader Versieniveau moet groter dan of gelijk zijn aan 2.0. Versieniveau moet groter dan of gelijk zijn aan 2.0.
Hoekpunt-shader Geen vereiste. Versieniveau moet groter dan of gelijk zijn aan 2.0.
Multitexture-eenheden Geen vereiste. Het aantal eenheden moet groter dan of gelijk aan 4 zijn.

De volgende functies en mogelijkheden worden hardwareversneld voor het renderen op laag 1 en laag 2.

Eigenschap Opmerkingen
2D-rendering De meeste 2D-rendering wordt ondersteund.
3D-rasterisatie De meeste 3D-rasterisatie wordt ondersteund.
3D anisotropische filtering WPF probeert anisotropische filtering te gebruiken bij het weergeven van 3D-inhoud. Anisotropische filtering verwijst naar het verbeteren van de beeldkwaliteit van patronen op oppervlakken die ver weg en steil gehoekt zijn met betrekking tot de camera.
3D MIP-toewijzing WPF probeert MIP-toewijzing te gebruiken bij het weergeven van 3D-inhoud. MIP mapping verbetert de kwaliteit van de textuur rendering wanneer een textuur een kleiner gezichtsveld in een Viewport3D inneemt.
Radiale kleurovergangen Hoewel dit wordt ondersteund, moet u het gebruik van RadialGradientBrush op grote objecten vermijden.
3D-verlichtingsberekeningen WPF voert per hoekpuntverlichting uit, wat betekent dat bij elk hoekpunt een lichtintensiteit moet worden berekend voor elk materiaal dat op een mesh wordt toegepast.
Tekstweergave Subpixel-lettertype-rendering maakt gebruik van beschikbare pixel-shaders op de grafische hardware.

De volgende functies en mogelijkheden zijn alleen gehardwareversneld voor weergaveniveau 2.

Eigenschap Opmerkingen
3D-antialiasing 3D anti-aliasing wordt alleen ondersteund op besturingssystemen die Windows Display Driver Model (WDDM) ondersteunen, zoals Windows Vista en Windows 7.

De volgende functies en mogelijkheden zijn niet versneld door hardware:

Eigenschap Opmerkingen
Afgedrukte inhoud Alle afgedrukte inhoud wordt weergegeven met behulp van de WPF-softwarepijplijn.
Rasterinhoud die gebruikmaakt van RenderTargetBitmap Alle inhoud die wordt weergegeven met behulp van de Render methode van RenderTargetBitmap.
Tegelinhoud die gebruik maakt van TileBrush Alle tegelinhoud waarin de TileMode eigenschap van de TileBrush is ingesteld op Tile.
Oppervlakken die de maximale textuurgrootte van de grafische hardware overschrijden Voor de meeste grafische hardware zijn grote oppervlakken 2048x2048 of 4096x4096 pixels groot.
Elke bewerking waarvan de video-RAM-vereiste het geheugen van de grafische hardware overschrijdt U kunt het RAM-gebruik van toepassingsvideo's bewaken met behulp van het hulpprogramma Perforator dat is opgenomen in de WPF Performance Suite in de Windows SDK.
Gelaagde vensters Gelaagde vensters stellen WPF-toepassingen in staat om inhoud weer te geven aan het scherm in een niet-rechthoekig venster. Op besturingssystemen die Windows Display Driver Model (WDDM) ondersteunen, zoals Windows Vista en Windows 7, worden gelaagde vensters hardwareversneld. Op andere systemen, zoals Windows XP, worden gelaagde vensters weergegeven door software zonder hardwareversnelling.

U kunt gelaagde vensters in WPF inschakelen door de volgende Window eigenschappen in te stellen:

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

Andere hulpbronnen

De volgende bronnen kunnen u helpen bij het analyseren van de prestatiekenmerken van uw WPF-toepassing.

Registerinstellingen voor graphics rendering

WPF biedt vier registerinstellingen voor het beheren van WPF-rendering:

Configuratie Beschrijving
De optie hardwareversnelling uitschakelen Hiermee geeft u op of hardwareversnelling moet worden ingeschakeld.
maximale multisample-waarde Hiermee specificeert u de mate van multisampling voor 3D-inhoud voor antialiasing.
Vereiste datum van videostuurprogramma instellen Hiermee geeft u op of het systeem hardwareversnelling uitschakelt voor stuurprogramma's die vóór november 2004 zijn uitgebracht.
Verwijzingsrasteroptie Gebruiken Hiermee geeft u op of WPF de referentierasterizer moet gebruiken.

Deze instellingen kunnen worden geopend door elk extern configuratiehulpprogramma dat weet hoe moet worden verwezen naar de WPF-registerinstellingen. Deze instellingen kunnen ook worden gemaakt of gewijzigd door rechtstreeks toegang te krijgen tot de waarden met behulp van de Windows-registereditor. Zie Registerinstellingen voor Graphics Rendering voor meer informatie.

Hulpprogramma's voor WPF-prestatieprofilering

WPF biedt een reeks hulpprogramma's voor prestatieprofilering waarmee u het runtimegedrag van uw toepassing kunt analyseren en de typen prestatieoptimalisaties kunt bepalen die u kunt toepassen. De volgende tabel bevat de hulpprogramma's voor prestatieprofilering die zijn opgenomen in het Windows SDK-hulpprogramma WPF Performance Suite:

Werktuig Beschrijving
Perforator Gebruiken voor het analyseren van renderinggedrag.
Visual Profiler Gebruik dit diagram voor het profileren van het gebruik van WPF-services, zoals indeling en gebeurtenisafhandeling, op basis van elementen in de visualstructuur.

De WPF Performance Suite biedt een uitgebreide, grafische weergave van prestatiegegevens. Zie WPF Performance Suite voor meer informatie over WPF-prestatiehulpprogramma's.

DirectX Diagnostic Tool

Het hulpprogramma DirectX Diagnostic, Dxdiag.exe, is ontworpen om u te helpen bij het oplossen van DirectX-gerelateerde problemen. De standaardinstallatiemap voor het diagnostische hulpprogramma directX is:

~\Windows\System32

Wanneer u het diagnostische hulpprogramma voor DirectX uitvoert, bevat het hoofdvenster een set tabbladen waarmee u DirectX-gerelateerde informatie kunt weergeven en diagnosticeren. Het tabblad Systeem bevat bijvoorbeeld systeeminformatie over uw computer en geeft de versie van DirectX op die op uw computer is geïnstalleerd.

Schermopname: DirectX Diagnostic Tool
Hoofdvenster van DirectX Diagnostic Tool

Zie ook