Famiglia di prodotti per l'analisi delle prestazioni WPF

In Windows SDK è inclusa una suite di strumenti di profilatura delle prestazioni per le applicazioni di Windows Presentation Foundation (WPF) denominata WPF Performance Suite. Questa suite consente di esaminare il comportamento delle applicazioni WPF in fase di esecuzione e di determinare le ottimizzazioni delle prestazioni che è possibile applicare. In WPF Performance Suite sono inclusi strumenti di profilatura delle prestazioni denominati Perforator e Visual Profiler. In questo argomento viene descritto come installare e utilizzare gli strumenti Perforator e Visual Profiler di WPF Performance Suite.

Di seguito sono elencate le diverse sezioni di questo argomento:

  • Installazione di WPF Performance Suite

  • Avvio di WPF Performance Suite

  • Perforator

  • Visual Profiler

Installazione di WPF Performance Suite

Nei passaggi seguenti viene descritto come installare WPF Performance Suite.

  1. Se è già installata una versione precedente di Windows Performance Toolkit, disinstallarla.

  2. Installare Windows SDK.

    Nelle opzioni di installazione verificare di selezionare l'opzione Windows Performance Toolkit in Utilità comuni. Per informazioni sul download, vedere la pagina di download di Windows SDK.

  3. Dopo l'installazione di Windows SDK, selezionare Tutti i programmi dal menu Start, quindi Microsoft Windows SDK v7.1 e Strumenti.

  4. In Strumenti fare clic su Installa Windows Performance Toolkit.

    Verrà avviata l'Installazione guidata.

  5. Attenersi alle istruzioni visualizzate per installare Windows Performance Toolkit.

    Per impostazione predefinita, verranno installate le funzionalità seguenti.

    • Analizzatore prestazioni

    • Guida di Windows Performance Toolkit

    • GPUView

    • WPF Performance Suite

Avvio di WPF Performance Suite

Prima di eseguire l'applicazione di cui effettuare la profilatura, è necessario avviare WPF Performance Suite. Per utilizzare WPF Performance Suite, è necessario che l'account utente disponga di privilegi amministrativi.

Nei passaggi seguenti viene descritto come avviare WPF Performance Suite.

  1. Dal menu Start selezionare Tutti i programmi, quindi Microsoft Windows Performance Toolkit.

  2. Fare clic su WPF Performance Suite.

  3. Se viene visualizzata una finestra di dialogo Controllo dell'account utente, fare clic su .

    Verrà avviato WPF Performance Suite.

Al primo avvio di WPF Performance Suite, viene visualizzata la finestra di dialogo Aggiungi strumenti. La finestra di dialogo Aggiungi strumenti consente di aggiungere gli strumenti di profilatura delle prestazioni. Per aggiungere uno strumento, selezionare un assembly che contiene uno strumento, quindi fare clic su Analizza assembly. È possibile aprire la finestra di dialogo Aggiungi strumento in qualsiasi momento scegliendo Aggiungi strumento dal menu File. Di seguito viene illustrata la finestra di dialogo Aggiungi strumenti.

Finestra di dialogo Aggiungi strumenti

Finestra di dialogo Aggiungi strumenti

Per impostazione predefinita, in WPF Performance Suite sono inclusi gli strumenti di profilatura delle prestazioni indicati di seguito.

Strumento

Descrizione

Perforator

Consente di analizzare il comportamento di rendering.

Visual Profiler

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

Verificare che le caselle di controllo Perforator e Visual Profiler siano selezionate, quindi fare clic su OK.

Perforator

Perforator è uno strumento di profilatura delle prestazioni per l'analisi del comportamento di rendering dell'applicazione WPF. Nell'interfaccia utente di Perforator viene visualizzato un set di grafici che consentono di analizzare il comportamento di rendering specifico in alcune parti dell'applicazione, ad esempio la frequenza aggiuntiva del rettangolo modificato e la frequenza di aggiornamento. In WPF viene utilizzata una tecnica di rendering denominata rettangolo modificato, per cui viene eseguito un nuovo passaggio di rendering solo per le parti dello schermo che sono state modificate. Inoltre, lo strumento Perforator offre diverse opzioni che è possibile utilizzare per individuare problemi di rendering specifici. In Perforator vengono inoltre segnalate destinazioni di rendering software e viene fornito un dispositivo di scorrimento per controllare la durata dei grafici. Nella figura seguente viene illustrata l'interfaccia utente di Perforator.

Interfaccia utente di Perforator

Finestra di dialogo Add Tool

Utilizzo di Perforator

Per utilizzare Perforator, avviare l'applicazione WPF da analizzare. Una volta avviata l'applicazione, fare clic sulla scheda Perforator, quindi scegliere Seleziona processo dal menu Azioni. Nella finestra di dialogo Seleziona processo, selezionare il processo dell'applicazione da analizzare, quindi fare clic su Seleziona. Il nome e l'ID del processo verranno visualizzati nella parte superiore della scheda Perforator. Selezionare le opzioni di rendering da analizzare. I valori dei dati di Perforator, come la frequenza di aggiornamento, riflettono immediatamente il comportamento di rendering dell'applicazione. Viene di seguito illustrato un esempio.

Opzioni di rendering e applicazione selezionate in Perforator

Finestra principale di Perforator con opzioni selezionate

Grafici di Perforator

È importante che la frequenza di aggiornamento, la frequenza aggiuntiva del rettangolo modificato e il numero di destinazioni di rendering intermedie abbiano un valore basso per garantire l'efficienza del rendering dell'applicazione WPF. In Perforator sono disponibili molti grafici utili per il monitoraggio di questi livelli.

Nella tabella seguente viene descritta la metrica segnalata da ogni grafico.

Grafico della cronologia

Descrizione

Note

Frequenza fotogrammi

Indica la frequenza con cui viene eseguito il rendering dell'applicazione sullo schermo.

Per le applicazioni senza animazione, questo valore sarà vicino allo 0. Durante le animazioni in un'applicazione dalle prestazioni soddisfacenti, la frequenza fotogrammi dovrebbe essere vicina alla frequenza di aggiornamento del monitor (in genere 60 o 75).

Frequenza aggiuntiva rettangolo modificato

Indica quante aree rettangolari devono essere aggiornate da WPF per ogni frame.

Il rettangolo modificato fa riferimento a una tecnica di rendering per cui il rendering viene eseguito solo per le parti dello schermo che sono state modificate. Un valore alto indica che vengono modificate molte aree. Questa condizione non è necessariamente positiva o negativa, ma è opportuno considerare il valore con le prestazioni globali dell'applicazione.

IRT SW per frame

Mostra il numero di destinazioni di rendering intermedie software richieste per il rendering di un frame dell'applicazione.

Le destinazioni di rendering intermedie sono superfici software costose che WPF deve allocare e utilizzare per la copia di dati. Le destinazioni di rendering intermedie software sono più costose di quelle hardware.

Le destinazioni di rendering intermedie vengono in genere causate dall'utilizzo di DrawingBrush, VisualBrush della proprietà Opacity in un oggetto Visual o delle modalità di affiancamento (Tile) in un oggetto TileBrush. Se questo numero è elevato, ad esempio maggiore di 5, il rendering dell'applicazione richiede una notevole quantità di lavoro nel runtime di WPF.

In un computer che supporta l'accelerazione hardware, questo numero deve essere 0. Diversamente, questo numero indica che il rendering di parte della scena viene eseguito utilizzando la pipeline software più lenta.

IRT HW per frame

Mostra il numero di destinazioni di rendering intermedie hardware richieste per il rendering di un frame dell'applicazione.

Le destinazioni di rendering intermedie sono superfici hardware costose che WPF deve allocare e utilizzare per la copia di dati.

Le destinazioni di rendering intermedie di solito sono determinate dall'utilizzo della proprietà DrawingBrush, VisualBrush o Opacity in un oggetto Visual o dalle modalità di disegno in un oggetto TileBrush. Se questo numero è elevato, ad esempio maggiore di 5, il rendering dell'applicazione richiede una notevole quantità di lavoro nel runtime di WPF. In questo caso, sarà necessario analizzare tutte le aree del codice in cui vengono utilizzati gli elementi indicati in precedenza.

Le destinazioni di rendering intermedie hardware sono meno costose di quelle software.

Utilizzo della memoria video

Consente di tenere traccia delle grandi allocazioni di memoria video a WPF per le destinazioni di rendering e trama. Questa metrica non tiene traccia delle allocazioni di memoria o driver video per la compilazione e il caricamento di pixel e vertex shader.

Il superamento della quantità disponibile di memoria di trama determina di solito il fallback della logica di rendering di WPF al software e che più schermi (multimonitor) hanno un effetto moltiplicativo sulla quantità della memoria video necessaria per un'applicazione.

Opzioni di rendering di Perforator e ottimizzazione del rendering

In Perforator è possibile impostare molte opzioni di rendering che influiscono sul comportamento di rendering in tempo reale dell'applicazione. L'impostazione di queste opzioni consente di individuare gli eventi di rendering potenzialmente problematici nell'applicazione. Queste opzioni sono disponibili nella parte inferiore dell'interfaccia utente.

Nella figura seguente vengono illustrate le opzioni di rendering di Perforator.

Opzioni di rendering di Perforator

Opzioni di rendering Perforater

In genere, per migliorare le prestazioni delle applicazioni WPF, è opportuno ridurre al minimo il rendering software e ridurre il numero di destinazioni di rendering intermedie. Nelle sezioni seguenti viene illustrato come utilizzare Perforator a tale scopo.

Evitare il rendering software

Poiché la pipeline di rendering hardware di WPF è notevolmente più rapida di quella software, la riduzione della quantità di rendering dell'interfaccia utente dell'applicazione eseguito nel software consente di velocizzare il rendering dell'applicazione. In genere, il tempo necessario per il rendering di un'area nel software è proporzionale al numero di pixel di cui viene eseguito il rendering. Prestare pertanto attenzione ad aree ampie sottoposte a rendering tramite la pipeline software. Le aree di piccole dimensioni presentano meno problemi.

Nella tabella seguente vengono elencate le opzioni di Perforator che consentono di rilevare i problemi di rendering del software.

Opzione

Descrizione

Note

Disegna rendering software con il viola

Consente di disegnare con il viola tutte le aree sottoposte a rendering tramite la pipeline di rendering software. Sono incluse le destinazioni di rendering software, il relativo contenuto 3D e il fallback di software per primitiva.

La pipeline di rendering hardware di WPF è notevolmente più veloce della relativa pipeline di rendering software. Una quantità troppo elevata di rendering software indica in genere un problema. Gli esempi che causerebbero questo comportamento includono l'affiancamento eccessivo di Brush o il superamento della dimensione di trama della scheda video.

Disegna gli effetti bitmap sottoposti a rendering software con il rosso

Consente di disegnare gli effetti bitmap sottoposti a rendering tramite software legacy con il rosso.

Le classi BitmapEffect sottoposte a rendering software sono lente ed è consigliabile evitarle. È opportuno utilizzare le classi Effect sottoposte a rendering hardware introdotte in .NET Framework 3.5 SP1.

Nella figura seguente viene illustrata l'applicazione di esempio PhotoDemo con l'opzione di rendering Disegna rendering software con il viola abilitata.

PhotoDemo con il viola

Applicazione PhotoDemo con opzioni di rendering di Perforator

Monitoraggio delle aree modificate

Poiché in WPF vengono aggiornate solo le parti di una finestra in base alle esigenze, può essere utile visualizzare gli aggiornamenti in qualsiasi momento. In alcuni casi, sebbene non vi siano animazioni in esecuzione nell'applicazione, le aree continueranno ad aggiornarsi. Tramite le opzioni seguenti è possibile visualizzare i comportamenti di aggiornamento. Gli aggiornamenti non necessari sono particolarmente importanti per desktop remoto, macchine virtuali e scenari simili quando è necessario inviare nuove bitmap in rete con WPF. Inoltre, gli aggiornamenti non necessari possono influire sulla durata della batteria del portatile.

Opzione

Descrizione

Note

Mostra sovrapposizione dell'aggiornamento di aree modificate

Indica tutti gli aggiornamenti eseguiti da WPF nella schermata per mezzo della ricolorazione. In questo modo è possibile visualizzare quando e dove le aree vengono ridisegnate in un'applicazione.

Poiché in WPF vengono aggiornate solo porzioni della finestra in base alle esigenze, può essere utile visualizzare quale parte della finestra viene aggiornata in qualsiasi momento. Utilizzare questa opzione quando la frequenza fotogrammi e la frequenza aggiuntiva del rettangolo modificato non sono uguali a zero, ma non è in corso alcuna modifica degli elementi visivi nell'applicazione.

Disabilita supporto aree modificate

Consente a WPF di ridisegnare l'intera finestra ogni volta che viene applicata una modifica.

Questa opzione è utile per imporre l'aggiornamento dell'intera finestra. Di solito viene ridisegnata solo la parte della finestra che è stata modificata. L'abilitazione di questa opzione determina un rallentamento dell'esecuzione del rendering da parte dell'applicazione.

Cancella buffer nascosto prima del rendering

Consente di cancellare il contenuto di tutte le finestre dell'applicazione prima di ogni operazione di disegno.

Questa opzione è un'alternativa a Mostra sovrapposizione dell'aggiornamento di aree modificate. Viene visualizzata in modo efficace l'area modificata più recentemente, mentre la sovrapposizione dell'aggiornamento di aree modificate è più utile per individuare le modifiche apportate all'area modificata nel corso del tempo.

Rilevamento di altre fonti di riduzione delle prestazioni

Perforator consente di disabilitare determinate operazioni impegnative in termini di prestazioni al fine di individuare se siano causa di colli di bottiglia nell'applicazione. Attraverso il monitoraggio della frequenza fotogrammi delle applicazioni e la selezione delle opzioni singolarmente, è possibile determinare se le operazioni, ad esempio il rendering 3D o il ridimensionamento dell'immagine, causano problemi di rendering. Se si seleziona una di queste opzioni e la frequenza fotogrammi viene ridotta in modo significativo, è probabile che sia stato individuato il collo di bottiglia nell'applicazione.

Opzione

Descrizione

Note

Disabilita effetti di opacità

Consente di disabilitare determinati utilizzi dell'opacità che possono richiedere prestazioni elevate.

Per evitare questo problema in termini di prestazioni, valutare l'impostazione dell'opacità su un oggetto di livello basso, ad esempio Brush, invece che su un oggetto di livello alto, ad esempio Button.

Disabilita fallback di software per primitiva

Consente di disabilitare il fallback del software per ogni singola primitiva di rendering. Non è possibile disabilitare le destinazioni di rendering intermedie software e altro rendering software.

Questa opzione non è obbligatoria nella maggior parte dei casi. Lasciarla deselezionata.

Disabilita ridimensionamento dell'immagine di alta qualità

Consente di disabilitare il ridimensionamento di immagini di grandi dimensioni a dimensioni inferiori.

Consente di vedere l'effetto del ridimensionamento dell'immagine nell'applicazione. Se la selezione di questa opzione riduce notevolmente la frequenza fotogrammi, valutare la possibilità di decodificare le immagini in una dimensione simile a quella in cui saranno visualizzate.

Disabilita rendering 3D

Consente di disabilitare tutte le operazioni di rendering 3D

Consente di vedere l'effetto delle operazioni di rendering 3D nell'applicazione.

Visual Profiler

Visual Profiler è uno strumento di profilatura delle prestazioni dei servizi WPF, ad esempio layout, rendering e animazione, per gli elementi della struttura ad albero visuale. Con l'analisi dell'output di profilatura di questo strumento, è possibile determinare quali elementi visivi dell'applicazione possono causare colli di bottiglia a livello di prestazioni.

Visual Profiler presenta problemi di prestazioni nell'ambito dei blocchi di compilazione di base utilizzati per realizzare scene visive nell'applicazione. Tali blocchi di compilazione includono oggetti di alto livello, ad esempio i controlli Button e TextBlock, e oggetti di basso livello, ad esempio gli elementi Line e Ellipse. Anziché descrivere i problemi di prestazioni in termini di grafici delle chiamate dei nomi di funzioni, in Visual Profiler questi problemi vengono descritti mediante la rappresentazione di oggetti visivi. È una modalità analoga a quella utilizzata dallo strumento di Windows SDK, UI Spy, per rappresentare le informazioni. Per ulteriori informazioni, vedere UISpy.exe (UI Spy).

Utilizzo di Visual Profiler

Per utilizzare Visual Profiler, avviare l'applicazione WPF da analizzare. Una volta avviata l'applicazione, fare clic sulla scheda Visual Profiler, quindi scegliere Seleziona processo dal menu Azioni. Nella finestra di dialogo Seleziona processo selezionare il processo dell'applicazione da analizzare, quindi fare clic su Seleziona. Il nome e l'ID del processo verranno visualizzati nella parte superiore della scheda Visual Profiler.

Per analizzare la portata dei problemi di prestazioni di WPF, è necessario comprendere il ruolo e l'ambito dei servizi di WPF sottostanti. Tali servizi includono layout, rendering e animazione. Visual Profiler offre una rappresentazione grafica della modalità di allocazione dei servizi di WPF tra gli oggetti applicazione. Ad esempio, quando in Visual Profiler viene visualizzata la struttura ad albero visuale degli oggetti applicazione, vengono sovrapposte diverse sfumature di rosso sugli oggetti per rappresentare la relativa quantità di risorse utilizzate. Un oggetto visualizzato con una sovrapposizione di colore rosso più scura rappresenta un oggetto che utilizza una proporzione più elevata di risorse rispetto a un oggetto con una sovrapposizione di colore rosso più chiara. Punto ancora più importante, in Visual Profiler viene indicata la suddivisione della quantità di risorse specifiche di WPF utilizzate da un oggetto.

Nella figura seguente viene illustrata l'interfaccia utente di Visual Profiler.

Interfaccia utente di Visual Profiler

Interfaccia utente di Visual Profiler

L'interfaccia utente di Visual Profiler presenta otto aree.

  1. Casella di ricerca della struttura ad albero dell'elemento

  2. Struttura ad albero dell'elemento visivo

  3. Dettagli e anteprima dell'elemento

  4. Dettagli sull'utilizzo esclusivo della CPU dell'elemento

  5. Dettagli sull'utilizzo della CPU dell'applicazione

  6. Controllo zoom dei dati acquisiti

  7. Impostazioni di visualizzazione del grafico della cronologia

  8. Opzioni per la sovrapposizione dell'anteprima e delle prestazioni dell'applicazione

Nelle sezioni seguenti viene descritta ciascuna area.

Casella di ricerca della struttura ad albero dell'elemento

La casella di ricerca della sezione Struttura ad albero elemento consente di cercare gli elementi nella struttura ad albero degli elementi dell'applicazione. Quando si esegue una ricerca, tutti gli elementi corrispondenti vengono evidenziati in giallo. È possibile cercare gli elementi in base al tipo o al nome.

Struttura ad albero dell'elemento visivo

Il controllo della struttura ad albero della sezione Struttura ad albero elemento consente di visualizzare il tipo e il nome degli elementi visivi nell'applicazione unitamente ai dettagli relativi al layout e alla dimensione del sottoalbero.

Nell'esempio seguente viene illustrata l'etichetta di un elemento nella struttura ad albero:

Bordo 'border1' (26) 0,02% (I)/ 0,00 % (E) - 0,24 ms (I) / 0,00 ms (E)

Parte dell'etichetta dell'elemento

Descrizione

Bordo

Tipo dell'elemento.

'border1'

Nome dell'elemento.

(26)

Dimensione del sottoalbero.

0,02% (I)

Percentuale della dimensione totale per l'intera struttura ad albero, che include l'elemento e tutti i discendenti.

0,00 (E)

Percentuale degli elementi totali per il solo elemento.

0,24 ms (I)

Tempo in millisecondi per il layout dell'elemento e dei discendenti.

0,00 ms (E)

Tempo in millisecondi per il layout del solo elemento.

Utilizzare il menu Visualizza per determinare se visualizzare informazioni di %/tempo inclusive/esclusive.

Fare clic con il pulsante destro del mouse su un elemento per espandere o comprimere il sottoalbero. È inoltre possibile espandere il relativo percorso critico. Il percorso critico indica quale elemento del sottoalbero utilizza la maggior parte di CPU.

Dettagli e anteprima dell'elemento

Nella sezione Informazioni elemento vengono visualizzati il tipo e il nome dell'elemento attualmente selezionato, se l'elemento è denominato. Viene inoltre fornita un'anteprima dell'elemento nella sezione Anteprima. Se si seleziona l'elemento superiore, viene visualizzata un'anteprima dell'applicazione.

Dettagli sull'utilizzo esclusivo della CPU dell'elemento

Nella sezione Utilizzo esclusivo della CPU dell'elemento vengono visualizzati un grafico della cronologia e i dettagli relativi al tempo CPU esclusivo utilizzato dall'elemento selezionato nel corso del tempo. Ad esempio, è possibile che un elemento utilizzi x% di tempo CPU per la disposizione del layout, y% per la misurazione del layout e z% per il rendering.

Dettagli sull'utilizzo della CPU dell'applicazione

Nella sezione Utilizzo della CPU dell'applicazione vengono visualizzati un grafico della cronologia e i dettagli relativi agli eventi dell'applicazione. In Visual Profiler vengono ascoltati e acquisiti vari eventi di applicazioni. Gli eventi dell'applicazione sono elencati con i valori assoluti e nel grafico della cronologia il tempo CPU impiegato in ciascun evento nel corso del tempo viene indicato con colori diversi. In questo modo è possibile rilevare facilmente il tempo impiegato dall'applicazione per il layout e per il rendering.

Nella tabella seguente sono descritti gli eventi dell'applicazione rappresentati nel grafico.

NotaNota

Tali eventi, che corrispondono alle chiamate ai metodi in WPF, sono rappresentati dal nome del metodo seguito dal nome della classe tra parentesi.Ad esempio Tick (TimeManager) rappresenta il metodo TimeManager.Tick.

Eventi dell'applicazione

Descrizione

Tempo senza etichetta

Tempo impiegato in WPF non associato a una categoria in un altro evento dell'applicazione; tutto il tempo impiegato dall'applicazione al di fuori di WPF

RenderMessageHandler (MediaContext)

Si verifica quando viene avviato il passaggio di rendering. Questo evento causa, tra l'altro, il tick del gestore del tempo.

Thread di rendering

Si verifica quando si eseguono istruzioni di rendering sul relativo thread, il che risulta utile per rilevare applicazioni associate al rendering.

Layout

Si verifica durante la misurazione, la disposizione e il passaggio di rendering.

UpdateRealizations

Si verifica quando si aggiornano le rappresentazioni bitmap interne di testo e gli effetti bitmap.

Tick (TimeManager)

Si verifica quando è attiva l'animazione. Questo evento consente di attivare il gestore di rendering dell'animazione.

Quando si animano oggetti in WPF, gli oggetti Clock creati per le sequenze temporali vengono gestiti da un gestore del tempo. Il gestore del tempo è la radice di una struttura ad albero di oggetti Clock e controlla il flusso di tempo nella struttura. Il gestore del tempo viene creato automaticamente per ogni applicazione WPF ed è invisibile allo sviluppatore di applicazioni. Il gestore del tempo genera molti tick al secondo. Il numero effettivo di tick emessi ogni secondo varia a seconda delle risorse di sistema disponibili.

AnimatedRenderMessageHandler (MediaContext)

Si verifica per l'elaborazione e gli aggiornamenti dell'animazione. Quando le animazioni sono abilitate, il gestore elabora e aggiorna l'animazione determinando la modifica delle proprietà e l'esecuzione del rendering.

Render (MediaContext)

Si verifica durante il passaggio di rendering. Tramite questo metodo viene infine chiamato il metodo OnRender di ciascun elemento, un'opzione utile per comprendere i costi totali di OnRender per tutti gli elementi. Questo evento corrisponde al metodo MediaContext.Render di un file di Visual Studio Profiler (VSP).

Controllo zoom dei dati acquisiti

Nella sezione Opzioni grafico è incluso un controllo zoom dei dati acquisiti. Trascinando i quadratini della finestra di zoom, è possibile ridimensionare e modificare l'asse temporale dei grafici della cronologia Utilizzo esclusivo della CPU dell'elemento e Utilizzo della CPU dell'applicazione.

Impostazioni di visualizzazione del grafico della cronologia

Nella sezione Opzioni grafico sono inclusi i pulsanti di opzione e un dispositivo di scorrimento per modificare le impostazioni del grafico della cronologia. Tramite i pulsanti di opzione specificare il comportamento dell'asse della CPU, l'asse verticale, determinando se vengono visualizzati i pesi assoluti o relativi. Tramite il dispositivo di scorrimento impostare un valore massimo da visualizzare per il grafico.

Opzioni per la sovrapposizione dell'anteprima e delle prestazioni dell'applicazione

Nella sezione Opzioni di controllo sono presenti tre interruttori che consentono di eseguire le azioni seguenti.

  • Fare clic sul primo interruttore per interrompere o avviare la raccolta dati di Visual Profiler.

  • Fare clic sull'interruttore Anteprima attiva per visualizzare un'anteprima attiva dell'applicazione nella sezione Anteprima.

  • Fare clic sull'interruttore Finestra di sovrapposizione per aggiungere un bordo giallo intorno all'elemento visivo selezionato. Inoltre, per gli elementi che utilizzano più tempo CPU, viene aggiunta una sovrapposizione rossa. Lo stesso colore rosso viene utilizzato per l'elemento nella sezione Struttura ad albero elemento. L'intensità del rosso è correlata all'utilizzo della CPU.

Vedere anche

Concetti

Optimizing WPF Application Performance

Graphics Rendering Tiers

Cenni preliminari sul rendering della grafica WPF

UISpy.exe (UI Spy)

Altre risorse

Novità degli strumenti di profilatura delle prestazioni per WPF