Anteckning
Åtkomst till den här sidan kräver auktorisering. Du kan prova att logga in eller ändra kataloger.
Åtkomst till den här sidan kräver auktorisering. Du kan prova att ändra kataloger.
En renderingsnivå definierar en nivå av grafikmaskinvarans kapacitet och prestanda för en enhet som kör ett WPF-program.
Grafikmaskinvara
Funktionerna i grafikmaskinvaran som mest påverkar nivåerna på renderingsnivån är:
Video RAM Mängden videominne på grafikmaskinvaran avgör storleken och antalet buffertar som kan användas för att skapa grafik.
Pixelskuggare En pixelskuggning är en grafikbearbetningsfunktion som beräknar effekter per bildpunkt. Beroende på upplösningen för den visade grafiken kan det finnas flera miljoner pixlar som måste bearbetas för varje visningsram.
Hörnskuggning En hörnskuggning är en grafikbearbetningsfunktion som utför matematiska åtgärder på objektets hörndata.
Flertextursstöd Flertextursstöd avser möjligheten att tillämpa två eller flera distinkta texturer vid en blandningsoperation på ett 3D-grafikobjekt. Graden av stöd för flera textningar bestäms av antalet flertextenheter på grafikmaskinvaran.
Definitioner på renderingsnivå
Funktionerna i grafikmaskinvaran avgör återgivningsfunktionen för ett WPF-program. WPF-systemet definierar tre renderingsnivåer:
Renderingsnivå 0 Ingen maskinvaruacceleration för grafik. Alla grafikfunktioner använder programvaruåtergivning. DirectX-versionsnivån är mindre än version 9.0.
Återgivningsnivå 1 Vissa grafikfunktioner använder maskinvaruacceleration för grafik. DirectX-versionsnivån är större än eller lika med version 9.0.
Renderingsnivå 2 De flesta grafikfunktioner använder maskinvaruacceleration för grafik. DirectX-versionsnivån är större än eller lika med version 9.0.
Med RenderCapability.Tier egenskapen kan du hämta renderingsnivån vid programkörning. Du använder renderingsnivån för att avgöra om enheten stöder vissa maskinvaruaccelererade grafikfunktioner. Ditt program kan sedan använda olika kodsökvägar vid körning beroende på vilken renderingsnivå som stöds av enheten.
Renderingsnivå 0
Ett återgivningsnivåvärde på 0 innebär att det inte finns någon tillgänglig acceleration av grafikmaskinvara för programmet på enheten. På den här nivån bör du anta att all grafik återges av programvara utan maskinvaruacceleration. Den här nivåns funktioner motsvarar en DirectX-version som är mindre än 9,0.
Renderingsnivå 1 och återgivningsnivå 2
Anmärkning
Från och med .NET Framework 4 har återgivningsnivå 1 omdefinierats till att endast innehålla grafikmaskinvara som stöder DirectX 9.0 eller senare. Grafikmaskinvara som stöder DirectX 7 eller 8 definieras nu som renderingsnivå 0.
Ett återgivningsnivåvärde på 1 eller 2 innebär att de flesta grafikfunktionerna i WPF använder maskinvaruacceleration om de nödvändiga systemresurserna är tillgängliga och inte har förbrukats. Detta motsvarar en DirectX-version som är större än eller lika med 9.0.
I följande tabell visas skillnaderna i maskinvarukrav för grafik för renderingsnivå 1 och renderingsnivå 2:
| Egenskap | Nivå 1 | Nivå 2 |
|---|---|---|
| DirectX-version | Måste vara större än eller lika med 9,0. | Måste vara större än eller lika med 9,0. |
| Videominne | Måste vara större än eller lika med 60 MB. | Måste vara större än eller lika med 120 MB. |
| Pixelskuggning | Versionsnivån måste vara större än eller lika med 2.0. | Versionsnivån måste vara större än eller lika med 2.0. |
| Hörnskuggning | Inga krav. | Versionsnivån måste vara större än eller lika med 2.0. |
| Flertextenheter | Inga krav. | Antalet enheter måste vara större än eller lika med 4. |
Följande funktioner och kapaciteter är maskinvaruaccelererade för renderingsnivå 1 och renderingsnivå 2:
| Egenskap | Noteringar |
|---|---|
| 2D-återgivning | De flesta 2D-återgivningar stöds. |
| 3D-rastrering | Det mesta av 3D-rasterisering stöds. |
| 3D-anisotropisk filtrering | WPF försöker använda anisotrop filtrering vid återgivning av 3D-innehåll. Anisotropisk filtrering syftar på att förbättra bildkvaliteten på texturer på ytor som är långt borta och brant vinklad med avseende på kameran. |
| 3D MIP-mappning | WPF försöker använda MIP-mappning vid återgivning av 3D-innehåll. MIP-mappning förbättrar kvaliteten på texturrendering när en textur upptar ett mindre synfält i en Viewport3D. |
| Radiella toningar | Undvik att använda RadialGradientBrush på stora objekt medan det stöds. |
| 3D-belysningsberäkningar | WPF utför per hörn belysning, vilket innebär att en ljusintensitet måste beräknas vid varje hörn för varje material som appliceras på ett nät. |
| Textåtergivning | Subpixel-teckensnittsrendering använder tillgängliga pixelskuggare på grafikmaskinvaran. |
Följande funktioner är maskinvaruaccelererade endast för renderingsnivå 2:
| Egenskap | Noteringar |
|---|---|
| 3D-antialiasing | 3D-antialias stöds endast på operativsystem som stöder Windows Display Driver Model (WDDM), till exempel Windows Vista och Windows 7. |
Följande egenskaper och funktioner är inte maskinvaruaccelererade.
| Egenskap | Noteringar |
|---|---|
| Utskrivet innehåll | Allt tryckt innehåll återges med WPF-programvarupipeline. |
| Rastrerat innehåll som använder RenderTargetBitmap | Allt innehåll som återges med hjälp av Render-metoden för RenderTargetBitmap. |
| Tillat innehåll som använder TileBrush | Eventuellt kaklat innehåll där TileMode-egenskapen hos TileBrush är inställd på Tile. |
| Ytor som överskrider den maximala texturstorleken för grafikmaskinvaran | För de flesta grafikmaskinvaror är stora ytor 2048x2048 eller 4096x4096 bildpunkter i storlek. |
| Alla åtgärder vars krav på video-RAM överskrider grafikmaskinvarans minne | Du kan övervaka programvideons RAM-användning med hjälp av verktyget Perforator som ingår i WPF Performance Suite i Windows SDK. |
| Skiktade fönster | Med skiktade fönster kan WPF-program återge innehåll på skärmen i ett icke-rektangulärt fönster. På operativsystem som stöder Windows Display Driver Model (WDDM), såsom Windows Vista och Windows 7, är lagerfönster maskinvaruaccelererade. På andra system, till exempel Windows XP, återges skiktade fönster av programvara utan maskinvaruacceleration. Du kan aktivera skiktade fönster i WPF genom att ange följande Window egenskaper: - WindowStyle = None - AllowsTransparency = true- Background = Transparent |
Andra resurser
Följande resurser kan hjälpa dig att analysera prestandaegenskaperna för ditt WPF-program.
Registerinställningar för grafikrendering
WPF innehåller fyra registerinställningar för att kontrollera WPF-rendering:
| Inställning | Beskrivning |
|---|---|
| Inaktivera alternativ för maskinvaruacceleration | Anger om maskinvaruacceleration ska aktiveras. |
| Maximalt multisamplevärde | Anger graden av multisampling för antialiasering av 3D-innehåll. |
| Datuminställning för nödvändig videodrivrutin | Anger om systemet inaktiverar maskinvaruacceleration för drivrutiner som släpptes före november 2004. |
| Använd alternativet Referensrasteriserare | Anger om WPF ska använda referens rastrering. |
De här inställningarna kan nås av alla externa konfigurationsverktyg som vet hur du refererar till WPF-registerinställningarna. De här inställningarna kan också skapas eller ändras genom att komma åt värdena direkt med hjälp av Windows Registereditorn. Mer information finns i Registerinställningar för grafikrendering.
WPF-prestandaprofileringsverktyg
WPF tillhandahåller en uppsättning verktyg för prestandaprofilering som gör att du kan analysera körningsbeteendet för ditt program och fastställa vilka typer av prestandaoptimeringar du kan använda. I följande tabell visas de prestandaprofileringsverktyg som ingår i Windows SDK-verktyget WPF Performance Suite:
| Verktyg | Beskrivning |
|---|---|
| Hålslagare | Används för att analysera renderingsbeteende. |
| Visual Profiler | Används för att profilera användningen av WPF-tjänster, till exempel layout och händelsehantering, efter element i det visuella trädet. |
WPF Performance Suite ger en omfattande, grafisk vy över prestandadata. Mer information om WPF-prestandaverktyg finns i WPF Performance Suite.
DirectX-diagnostikverktyg
DirectX-diagnostikverktyget Dxdiag.exeär utformat för att hjälpa dig att felsöka DirectX-relaterade problem. Standardinstallationsmappen för DirectX-diagnostikverktyget är:
~\Windows\System32
När du kör DirectX-diagnostikverktyget innehåller huvudfönstret en uppsättning flikar som gör att du kan visa och diagnostisera DirectX-relaterad information. Fliken System innehåller till exempel systeminformation om datorn och anger vilken version av DirectX som är installerad på datorn.
Huvudfönstret för DirectX-diagnostikverktyget
Se även
.NET Desktop feedback