Condividi tramite


CompositionTarget.Rendering Evento

Definizione

Si verifica quando il processo di rendering principale esegue il rendering di un frame.

// Register
static event_token Rendering(EventHandler<IInspectable> const& handler) const;

// Revoke with event_token
static void Rendering(event_token const* cookie) const;

// Revoke with event_revoker
static CompositionTarget::Rendering_revoker Rendering(auto_revoke_t, EventHandler<IInspectable> const& handler) const;
public static event System.EventHandler<object> Rendering;
function onRendering(eventArgs) { /* Your code */ }
Windows.UI.Xaml.Media.CompositionTarget.addEventListener("rendering", onRendering);
Windows.UI.Xaml.Media.CompositionTarget.removeEventListener("rendering", onRendering);
- or -
Windows.UI.Xaml.Media.CompositionTarget.onrendering = onRendering;
Public Shared Custom Event Rendering As EventHandler(Of Object) 

Tipo evento

Commenti

La gestione del rendering può essere utile se si hanno scenari di interoperabilità con contenuto Microsoft DirectX. Ad esempio, è possibile sapere quando il framework XAML esegue il rendering di un frame e si sincronizza con il contenuto generato da Microsoft DirectX in un oggetto SwapChainPanel o SurfaceImageSource in modo che gli aggiornamenti visivi vengano presentati allo schermo contemporaneamente. Per altre informazioni, vedere Interoperabilità DirectX e XAML.

Per soddisfare il compilatore, il secondo parametroergs/ del gestore per un evento Rendering deve essere Object. Non usare EventArgs. Tuttavia, all'interno del gestore, è possibile eseguire il cast del riferimento e/args come RenderingEventArgs. RenderingEventArgs ha una proprietà, RenderingTime, che potrebbe essere utile nello scenario di rendering, ma non tutti i gestori avrebbero bisogno di queste informazioni. Può essere sufficiente sapere che l'evento viene generato e gestito ogni occorrenza.

I gestori per il rendering vengono eseguiti nel thread dell'interfaccia utente anche se non sono associati a alcun elemento dell'interfaccia utente specifico. Questo è simile all'esecuzione di un'animazione infinita. Normalmente il thread dell'interfaccia utente è attivo solo quando è necessario eseguire operazioni, ma l'aggiunta di un gestore per questo evento forza l'esecuzione di ogni frame che può impedire l'ottimizzazione dell'utilizzo della potenza del sistema. È quindi consigliabile rimuovere tutti i gestori di rendering quando non sono più necessari e aggiungerli solo quando sono necessari. Ad esempio, aggiungere il gestore solo quando vengono caricate pagine specifiche con contenuto DirectX sincronizzato e quindi rimuovere il gestore come parte della pulizia della pagina (OnNavigatedFrom). Per altre informazioni, vedere la sezione Usa animazioni infinite senza interruzioni della guida alle prestazioni.

Si applica a

Vedi anche