Controllare l'effettivo frame-rate di una applicazione Silverlight 4.0

di Alessio Leoncini, in Silverlight 4.0,

Una delle caratteristiche principe di Silverlight è la facilità con cui è possibile animare l'aspetto o la posizione di ogni elemento dell'interfaccia.
Tale semplicità può facilmente portare ad inserire molte animazioni, la cui concorrenza può influire reciprocamente in modo negativo sulla fluidità delle stesse.
La fluidità delle animazioni, in termini di frame per secondo, è influenzata dal valore di MaxFrameRate della proprità Settings, esposta dall'oggetto Silverlight.

System.Windows.Interop.SilverlightHost host = Application.Current.Host;
System.Windows.Interop.Settings settings = host.Settings;
settings.MaxFrameRate = 30;

Tuttavia, anche settando valori molto elevati, entrano in gioco i fattori appena menzionati, direttamente influenzati dalle prestazioni del personal computer dell'utente.
Per valutare gli effettivi frame per secondo con cui sono riprodotte le animazioni è possibile impostare a true la proprietà EnableFrameRateCounter esposta sempre dall'oggetto Settings che abbiamo citato.

System.Windows.Interop.SilverlightHost host = Application.Current.Host;
System.Windows.Interop.Settings settings = host.Settings;
settings.EnableFrameRateCounter = true;

Con questo snippet, nella barra di stato di Internet Explorer verrà visualizzato un valore ad indicazione del rapporto tra il frame rate effettivo e quello massimo.
Controllando questo rapporto possiamo ponderare il livello di ottimizzazione delle animazioni che dobbiamo attuare per ottenere una visualizzazione corretta su più sistemi possibile.
Per visualizzare queste informazioni, è importante non dimenticare di consentire "Allow status bar updates via script" nei settings del browser.

Commenti

Visualizza/aggiungi commenti

| Condividi su: Twitter, Facebook, LinkedIn

Per inserire un commento, devi avere un account.

Fai il login e torna a questa pagina, oppure registrati alla nostra community.

Approfondimenti

Nessuna risorsa collegata

I più letti di oggi