Notitie
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen u aan te melden of de directory te wijzigen.
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen de mappen te wijzigen.
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.
Hoofdvenster van DirectX Diagnostic Tool
Zie ook
.NET Desktop feedback