Condividi tramite


Livelli di rendering della grafica

Aggiornamento: novembre 2007

Un livello di rendering definisce un livello di funzionalità e prestazioni dell'hardware grafico per un dispositivo che esegue un'applicazione WPF.

Nel presente argomento sono contenute le seguenti sezioni.

  • Hardware grafico
  • Definizioni dei livelli di rendering
  • Altre risorse
  • Argomenti correlati

Hardware grafico

Di seguito sono riportate le funzionalità dell'hardware grafico che influiscono maggiormente sui livelli di rendering:

  • RAM video: la quantità di memoria video disponibile nell'hardware grafico determina le dimensioni e il numero di buffer che è possibile utilizzare per la composizione della grafica.

  • Pixel shader: un pixel shader è una funzione di elaborazione grafica che calcola gli effetti sulla base dei singoli pixel. A seconda della risoluzione della grafica visualizzata, può essere necessario elaborare milioni di pixel per ogni fotogramma di visualizzazione.

  • Vertex shader: un vertex shader è una funzione di elaborazione grafica che esegue operazioni matematiche sui dati di vertice dell'oggetto.

  • Supporto multitrama: il supporto multitrama riguarda la possibilità di utilizzare due o più trame distinte durante un'operazione di fusione su un oggetto grafico tridimensionale. Il grado del supporto multitrama è determinato dal numero di unità multitrama disponibili nell'hardware grafico.

Le funzionalità relative a pixel shader, vertex shader e multitrama vengono utilizzate per definire specifici livelli di versione di DirectX, che a loro volta consentono di definire i diversi livelli di rendering in WPF.

Definizioni dei livelli di rendering

Le funzionalità dell'hardware grafico determinano la funzionalità di rendering di un'applicazione WPF. Nel sistema WPF sono definiti tre livelli di rendering:

  • Livello di rendering 0: nessuna accelerazione dell'hardware grafico. La versione di DirectX è precedente alla versione 7.0.

  • Livello di rendering 1: accelerazione dell'hardware grafico parziale. La versione di DirectX è successiva o uguale alla versione 7.0 e precedente alla versione 9.0.

  • Livello di rendering 2: la maggior parte delle funzionalità grafiche utilizzano l'accelerazione dell'hardware grafico. La versione di DirectX è successiva o uguale alla versione 9.0.

Poiché la proprietà Tier consente di recuperare il livello di rendering in fase di esecuzione dell'applicazione, gli sviluppatori possono determinare se il dispositivo supporta alcune funzionalità grafiche con accelerazione hardware. L'applicazione può accettare quindi, in fase di esecuzione, diversi percorsi di codice a seconda del livello di rendering supportato dal dispositivo.

Livello di rendering 0

Il livello di rendering 0 indica nessuna accelerazione dell'hardware grafico per l'applicazione nel dispositivo. A questo livello, gli sviluppatori devono presupporre che il rendering della grafica verrà eseguito tramite software senza accelerazione hardware. La funzionalità di questo livello corrisponde a una versione di DirectX precedente alla 7.0.

Livello di rendering 1

Il livello di rendering 1 indica un'accelerazione dell'hardware grafico parziale disponibile sulla scheda video. Corrisponde a una versione di DirectX successiva o uguale alla 7.0 e precedente alla 9.0.

Le funzionalità riportate di seguito dispongono dell'accelerazione hardware per il rendering di livello 1:

Funzionalità

Note

Rendering 2D

È supportata la maggior parte del rendering bidimensionale.

Rasterizzazione 3D

È supportata la maggior parte della rasterizzazione tridimensionale. In WPF, tuttavia, viene utilizzato il software per calcolare le intensità della luce del vertice che vengono quindi passate all'hardware come colore del vertice. Ciò significa che l'illuminazione è di molto inferiore sul livello 1.

Filtro anisotropico 3D

Quando il livello di rendering > = 1, WPF tenta di utilizzare il filtro anisotropico per il rendering del contenuto tridimensionale. Il filtro anisotropico fa rifermento al miglioramento della qualità dell'immagine di trame su superfici lontane e molto angolate rispetto alla fotocamera.

Mapping MIP 3D

Quando il livello di rendering > = 1, WPF tenta di utilizzare il mapping MIP per eseguire il rendering del contenuto tridimensionale. Il mapping MIP migliora la qualità del rendering della trama quando quest'ultima occupa un campo visivo ridotto in un oggetto Viewport3D.

Le funzionalità riportate di seguito non dispongono dell'accelerazione hardware per il rendering di livello 1:

Funzionalità

Note

Effetti bitmap

L'utilizzo di un effetto bitmap su un elemento visivo comporta un rendering dell'elemento visivo senza accelerazione hardware.

Contenuto stampato

Il rendering del contenuto stampato viene eseguito tramite la pipeline software di WPF.

Contenuto rasterizzato utilizzando un oggetto RenderTargetBitmap

Tutto il contenuto il cui rendering viene eseguito utilizzando il metodo Render dell'oggetto RenderTargetBitmap.

Contenuto affiancato che utilizza l'oggetto TileBrush

Qualsiasi contenuto affiancato in cui la proprietà TileMode dell'oggetto TileBrush è impostata su Tile.

Superfici che superano la dimensione massima della trama dell'hardware grafico

La maggior parte delle schede video non supporta superfici di dimensioni superiori a 2048 x 2048 o 4096 x 4096 pixel.

Qualsiasi operazione i cui requisiti RAM video superano la memoria dell'hardware grafico

È possibile monitorare l'utilizzo della RAM video dell'applicazione utilizzando lo strumento Strumenti di analisi delle prestazioni per WPF fornito con Windows SDK.

Finestre sovrapposte

Le finestre sovrapposte consentono alle applicazioni WPF di eseguire il rendering del contenuto sullo schermo in una finestra non rettangolare. In Windows Vista, le finestre sovrapposte dispongono dell'accelerazione hardware. In altri sistemi, ad esempio Windows XP, il rendering delle finestre sovrapposte viene eseguito tramite software senza accelerazione hardware.

È possibile attivare le finestre sovrapposte in WPF impostando le proprietà dell'oggetto Window indicate di seguito:

Sfumature radiali

Qualsiasi utilizzo di RadialGradientBrush.

Calcoli dell'illuminazione 3D

In WPF l'illuminazione viene calcolata per ogni vertice, ovvero viene calcolata un'intensità della luce a ogni vertice e per ogni materiale applicato a una mesh. Al livello 1, i calcoli sono eseguiti tramite software. Al livello 2, i calcoli sono eseguiti tramite hardware.

Rendering del testo

Il rendering dei caratteri basato sulla tecnologia dei subpixel utilizza i pixel shader disponibili nell'hardware grafico.

Anti-aliasing 3D

Qualsiasi utilizzo dell'anti-aliasing tridimensionale.

Le funzionalità dell'hardware grafico riportate di seguito definiscono il rendering di livello 1:

Funzionalità

Note

Versione di DirectX

Deve essere successiva o uguale alla 7.0 e precedente alla 9.0.

RAM video

Almeno 30 MB o superiore.

Unità multitrama

Il numero di unità deve essere maggiore o uguale a 2.

Nella tabella riportata di seguito sono elencate le schede grafiche comuni che supportano il rendering di livello 1:

Manufacturer

Modello

ATI

Modelli Radeon: 256, 7000, 7500, 8500, 9000, 9100, 9200 e 9250

Intel

Modelli Intel Extreme Graphics: 845G, 845GE, 845GL e 845GV

Modelli Intel Extreme Graphics II: 852GME, 855GM, 855GME, 865G e 865GV

NVidia

GeForce 256

Modelli GeForce2: GTS, MX, MX100, MX200, MX400, Pro, Ti e Ultra

Modelli GeForce3: Ti200 e Ti500

Modelli GeForce4: MX420, MX440, MX460, MX4000, Ti4200, Ti4400, Ti4600 e Ti4800

Livello di rendering 2

Il livello di rendering 2 indica che per la maggior parte delle funzionalità grafiche di WPF è necessario utilizzare l'accelerazione hardware a condizione che le risorse di sistema necessarie non siano esaurite. Corrisponde a una versione di DirectX successiva o uguale alla 9.0.

Le funzionalità riportate di seguito dispongono dell'accelerazione hardware per il rendering di livello 2:

Funzionalità

Note

Funzionalità del rendering di livello 1

Sono incluse tutte le funzionalità del livello 1.

Sfumature radiali

Sebbene supportato, evitare l'utilizzo dell'oggetto RadialGradientBrush su oggetti di grandi dimensioni.

Calcoli dell'illuminazione 3D

In WPF l'illuminazione viene calcolata per ogni vertice, ovvero viene calcolata un'intensità della luce per ogni vertice e per ogni materiale applicato a una mesh. Al livello 1, i calcoli sono eseguiti tramite software. Al livello 2, i calcoli sono eseguiti tramite hardware.

Rendering del testo

Il rendering dei caratteri basato sulla tecnologia dei subpixel utilizza i pixel shader disponibili nell'hardware grafico.

Anti-aliasing 3D

L'anti-aliasing tridimensionale è supportato solo in Windows Vista.

Le funzionalità riportate di seguito non dispongono dell'accelerazione hardware per il rendering di livello 2:

Funzionalità

Note

Effetti bitmap

L'utilizzo di un effetto bitmap su un elemento visivo comporta un rendering dell'elemento visivo senza accelerazione hardware.

Contenuto stampato

Il rendering del contenuto stampato viene eseguito tramite la pipeline software di WPF.

Contenuto rasterizzato che utilizza RenderTargetBitmap

Il contenuto il cui rendering viene eseguito utilizzando il metodo Render dell'oggetto RenderTargetBitmap.

Contenuto affiancato che utilizza l'oggetto TileBrush

Qualsiasi contenuto affiancato in cui la proprietà TileMode dell'oggetto TileBrush è impostata su Tile.

Superfici che superano la dimensione massima della trama dell'hardware grafico

Per la maggior parte dell'hardware grafico, le grandi superfici presentano dimensioni pari a 2048 x 2048 o 4096 x 4096 pixel.

Qualsiasi operazione i cui requisiti RAM video superano la memoria dell'hardware grafico

È possibile monitorare l'utilizzo della RAM video dell'applicazione utilizzando lo strumento Strumenti di analisi delle prestazioni per WPF fornito con Windows SDK.

Finestre sovrapposte

Le finestre sovrapposte consentono alle applicazioni WPF di eseguire il rendering del contenuto sullo schermo in una finestra non rettangolare. In Windows Vista, le finestre sovrapposte dispongono dell'accelerazione hardware. In altri sistemi, ad esempio Windows XP, il rendering delle finestre sovrapposte viene eseguito tramite software senza accelerazione hardware.

È possibile attivare le finestre sovrapposte in WPF impostando le proprietà dell'oggetto Window indicate di seguito:

Le funzionalità dell'hardware grafico riportate di seguito definiscono il rendering di livello 2:

Funzionalità

Note

Versione di DirectX

Versione 9.0 o successive.

RAM video

120 MB o superiore.

Pixel shader

La versione deve essere successiva o uguale alla 2.0.

Vertex shader

La versione deve essere successiva o uguale alla 2.0.

Unità multitrama

Il numero di unità deve essere maggiore o uguale a 4.

Nella tabella riportata di seguito sono elencate le schede grafiche comuni che supportano il rendering di livello 2:

Manufacturer

Modello

ATI

Modelli Radeon: 9550, 9600, 9800 e X-series

Intel

Modelli Intel GMA900: 915G

Modelli Intel GMA950: 945G

NVidia

Geforce FX-series, 6xxx-series e 7xxx-series

Altre risorse

Le risorse elencate di seguito possono essere utili per l'analisi delle caratteristiche di prestazione dell'applicazione WPF.

Impostazioni del Registro di sistema per il rendering della grafica

In WPF sono disponibili quattro impostazioni del Registro di sistema per il controllo del rendering in WPF:

Impostazione

Descrizione

Opzione Disattiva accelerazione hardware

Specifica se l'accelerazione hardware deve essere attivata.

Valore massimo di campionamento multiplo

Specifica il grado di campionamento multiplo per l'anti-aliasing del contenuto 3D.

Impostazione data driver video necessaria

Specifica se il sistema disattiva l'accelerazione hardware per i driver rilasciati prima di novembre 2004.

Opzione Utilizza unità di rasterizzazione dei riferimenti

Specifica se WPF deve utilizzare il rasterizer di riferimento.

A queste impostazioni è possibile accedere tramite qualsiasi utilità di configurazione esterna in cui sia possibile fare riferimento alle impostazioni del Registro di sistema di WPF. Queste impostazioni possono essere create o modificate accedendo direttamente ai valori utilizzando l'editor del Registro di sistema di Windows. Per ulteriori informazioni, vedere Impostazioni del Registro di sistema per il rendering della grafica.

Strumenti di analisi delle prestazioni WPF

WPF fornisce una suite di strumenti di analisi delle prestazioni che consentono di esaminare il comportamento dell'applicazione in fase di esecuzione e di determinare quale tipo di ottimizzazione delle prestazioni è possibile ottenere. Nella tabella riportata di seguito sono elencati i cinque strumenti di analisi delle prestazioni inclusi nello strumento Windows SDK, WPFPerf:

Strumento

Descrizione

Event Trace

Utilizzato per l'analisi di eventi e per la generazione di file del log eventi.

Perforator

Utilizzato per l'analisi del comportamento di rendering.

Trace Viewer

Registrare, visualizzare e sfogliare i file di log di Event Trace for Windows in un formato di interfaccia utente WPF.

Visual Profiler

Consente di analizzare l'utilizzo dei servizi WPF, ad esempio la gestione del layout e degli eventi, tramite gli elementi della struttura ad albero visuale.

Visualizzatore del working set

Utilizzato per l'analisi delle caratteristiche del working set dell'applicazione.

La suite di strumenti Visual Profiler consente di ottenere una rappresentazione grafica completa dei dati relativi alle prestazioni. In questa schermata, la sezione CPU Usage di Visual Profiler fornisce un'indicazione dettagliata dell'utilizzo dei servizi WPF da parte di un oggetto, ad esempio il rendering e il layout.

Output visualizzato di Visual Profiler

Output di Visual Profiler

Per ulteriori informazioni sugli strumenti di prestazioni WPF, vedere Strumenti di analisi delle prestazioni per WPF.

Strumento di diagnostica DirectX

Lo strumento di diagnostica DirectX, Dxdiag.exe, è stato progettato per risolvere i problemi correlati a DirectX. La cartella di installazione predefinita dello strumento di diagnostica DirectX è:

~\Windows\System32

Quando si esegue lo strumento di diagnostica DirectX, la finestra principale contiene un insieme di schede che consentono di visualizzare e diagnosticare le informazioni correlate a DirectX. Ad esempio, nella scheda Sistema sono contenute informazioni di sistema sul computer e viene specificata la versione di DirectX installata.

Finestra principale dello strumento di diagnostica DirectX

Schermata: Strumento di diagnostica DirectX

Vedere anche

Concetti

Ottimizzazione delle prestazioni di applicazioni WPF

Strumenti di analisi delle prestazioni per WPF

Impostazioni del Registro di sistema per il rendering della grafica

Suggerimenti sulle animazioni

Riferimenti

RenderCapability

RenderOptions