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 */ }
Microsoft.UI.Xaml.Media.CompositionTarget.addEventListener("rendering", onRendering);
Microsoft.UI.Xaml.Media.CompositionTarget.removeEventListener("rendering", onRendering);
- or -
Microsoft.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, potresti voler sapere quando il framework XAML esegue il rendering di un frame e sincronizzalo 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 info, vedi Interoperabilità DirectX e XAML.

Per soddisfare il compilatore, il secondo parametro e/args 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 può essere utile nello scenario di rendering, ma non tutti i gestori necessitano 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 ad alcun elemento specifico dell'interfaccia utente. Questo è simile all'esecuzione di un'animazione infinita. In genere 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 fotogramma che può impedire le ottimizzazioni dell'utilizzo dell'alimentazione del sistema. È quindi consigliabile rimuovere 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 (Page.OnNavigatedFrom). Per altre informazioni, vedi la sezione Usa animazioni infinite della guida alle prestazioni.

Si applica a

Vedi anche