Pianificazione delle prestazioni dell'applicazionePlanning for Application Performance

La possibilità di raggiungere gli obiettivi di prestazioni dipende dalla capacità di sviluppare una strategia di prestazioni.The success of achieving your performance goals depends on how well you develop your performance strategy. La pianificazione è la prima fase nello sviluppo di qualsiasi prodotto.Planning is the first stage in developing any product. Questo argomento descrive alcune regole molto semplice per sviluppare una strategia di prestazioni ottimali.This topic describes a few very simple rules for developing a good performance strategy.

Pensare in termini di scenariThink in Terms of Scenarios

Scenari consentono di concentrarsi sui componenti critici dell'applicazione.Scenarios can help you focus on the critical components of your application. Scenari a livello generale sono derivati dai clienti, nonché i prodotti competitivi.Scenarios are generally derived from your customers, as well as competitive products. Sempre studiare i tuoi clienti e scoprire ciò che rende li entusiasti al prodotto e i prodotti della concorrenza.Always study your customers and find out what really makes them excited about your product, and your competitors' products. Commenti e suggerimenti dei clienti possono aiutare a determinare uno scenario principale dell'applicazione.Your customers' feedback can help you to determine your application's primary scenario. Ad esempio, se si sta sviluppando un componente che verrà usato all'avvio, è probabile che il componente verrà chiamato una sola volta, all'avvio dell'applicazione.For instance, if you are designing a component that will be used at startup, it is likely that the component will be called only once, when the application starts up. Tempo di avvio diventa il principale scenario.Startup time becomes your key scenario. Altri esempi di scenari chiave potrebbero essere la frequenza dei fotogrammi desiderati per le sequenze di animazione, o il working set massimo consentito per l'applicazione.Other examples of key scenarios could be the desired frame rate for animation sequences, or the maximum working set allowed for the application.

Definire gli obiettiviDefine Goals

Obiettivi di aiutano a determinare se un'applicazione sta effettuando più veloce o lenta.Goals help you to determine whether an application is performing faster or slower. È consigliabile definire obiettivi per tutti gli scenari.You should define goals for all of your scenarios. Tutti gli obiettivi di prestazioni che definiscono devono basarsi sulle aspettative dei clienti.All performance goals that you define should be based on your customers' expectations. Potrebbe essere difficile per le prestazioni dei set del ciclo di obiettivi sin dall'inizio per lo sviluppo di applicazioni, se sono presenti problemi non risolti molti.It may be difficult to set performance goals early on in the application development cycle, when there are still many unresolved issues. Tuttavia, è preferibile definire un obiettivo iniziale e rivederla successiva rispetto a non a essere un obiettivo del tutto.However, it is better to set an initial goal and revise it later than not to have a goal at all.

Comprendere la piattaforma in usoUnderstand Your Platform

Mantenere sempre il ciclo di misurazione, analisi, perfezionando/correggere durante il ciclo di sviluppo dell'applicazione.Always maintain the cycle of measuring, investigating, refining/correcting during your application development cycle. A partire dall'inizio alla fine del ciclo di sviluppo, è necessario misurare le prestazioni dell'applicazione in un ambiente stabile e affidabile.From the beginning to the end of the development cycle, you need to measure your application's performance in a reliable, stable environment. È consigliabile evitare la variabilità causata da fattori esterni.You should avoid variability caused by external factors. Ad esempio, durante il test delle prestazioni, si dovrebbe disabilitare antivirus o qualsiasi altro aggiornamento automatico, ad esempio SMS, in modo da non influenzare i risultati del test.For example, when testing performance, you should disable anti-virus or any automatic update such as SMS, in order not to impact performance test results. Dopo aver misurato le prestazioni dell'applicazione, è necessario identificare le modifiche che comporterà i miglioramenti più significativi.Once you have measured your application's performance, you need to identify the changes that will result in the biggest improvements. Dopo aver modificato l'applicazione, avviare nuovamente il ciclo.Once you have modified your application, start the cycle again.

Creare un processo iterativo di ottimizzazione delle prestazioniMake Performance Tuning an Iterative Process

È necessario conoscere il costo relativo di ogni funzione che si userà.You should know the relative cost of each feature you will use. Ad esempio, l'uso della reflection in Microsoft .NET Framework è in genere prestazioni elevate in termini di risorse di calcolo, in modo che si desidera utilizzarlo con cautela.For example, the use of reflection in Microsoft .NET Framework is generally performance intensive in terms of computing resources, so you would want to use it judiciously. Ciò non significa evitare l'uso della reflection, solo che è necessario prestare attenzione a bilanciare i requisiti di prestazioni dell'applicazione con le esigenze di prestazioni delle funzionalità usate.This does not mean to avoid the use of reflection, only that you should be careful to balance the performance requirements of your application with the performance demands of the features you use.

Compilare verso ricchezza con interfaccia graficaBuild Towards Graphical Richness

Una tecnica fondamentale per la creazione di un approccio scalabile per il raggiungimento di WPFWPF le prestazioni dell'applicazione consiste nel compilare verso la ricchezza di con interfaccia grafica e complessità.A key technique for creating a scalable approach towards achieving WPFWPF application performance is to build towards graphical richness and complexity. Iniziare sempre con l'uso minimo con utilizzo intensivo delle risorse di prestazioni per raggiungere gli obiettivi di scenario.Always start with using the least performance intensive resources to achieve your scenario goals. Una volta raggiungere questi obiettivi, compilare verso ricchezza grafico usando più funzionalità con utilizzo intensivo di prestazioni, sempre tenendo presenti gli obiettivi dello scenario.Once you achieve these goals, build towards graphic richness by using more performance intensive features, always keeping your scenario goals in mind. Tenere presente che WPFWPF è una piattaforma molto avanzata e offre numerose funzionalità grafiche.Remember, WPFWPF is a very rich platform and provides very rich graphic features. Uso delle prestazioni a elevato utilizzo di funzionalità può influire negativamente sulle prestazioni dell'applicazione complessiva.Using performance intensive features without thinking can negatively impact your overall application performance.

WPFWPF i controlli sono intrinsecamente estensibili, consentendo la diffusa personalizzazione dell'aspetto, mentre non modifica il comportamento di controllo.controls are inherently extensible by allowing for wide-spread customization of their appearance, while not altering their control behavior. Grazie all'uso di stili, modelli di dati e modelli di controllo, è possibile creare e sviluppare in modo incrementale un personalizzabile interfaccia utenteuser interface (UI) che si adatta ai requisiti di prestazioni.By taking advantage of styles, data templates, and control templates, you can create and incrementally evolve a customizable interfaccia utenteuser interface (UI) that adapts to your performance requirements.

Vedere ancheSee also