Freigeben über


CompositionTarget.Rendering Ereignis

Definition

Tritt auf, wenn der Kernrenderingprozess einen Frame rendert.

// 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) 

Ereignistyp

Hinweise

Die Behandlung von Rendering kann nützlich sein, wenn Sie Überinteropszenarien mit Microsoft DirectX-Inhalten haben. Beispielsweise sollten Sie wissen, wann das XAML-Framework einen Frame rendert, und diesen mit Ihrem von Microsoft DirectX generierten Inhalt in einem SwapChainPanel oder SurfaceImageSource synchronisieren, damit visuelle Updates gleichzeitig auf dem Bildschirm angezeigt werden. Weitere Informationen finden Sie unter DirectX- und XAML-Interoperabilität.

Um den Compiler zu erfüllen, muss der zweite e/args-Parameter des Handlers für ein Rendering-Ereignis Object sein. Verwenden Sie eventArgs nicht. Innerhalb des Handlers können Sie den e args-Verweis/ jedoch in RenderingEventArgs umwandeln. RenderingEventArgs verfügt über eine Eigenschaft, RenderingTime, die in Ihrem Renderingszenario nützlich sein kann, aber nicht alle Handler benötigen diese Informationen. Es kann ausreichen, nur zu wissen, dass das Ereignis ausgelöst wird und jedes Vorkommen behandelt.

Handler für das Rendering werden im UI-Thread ausgeführt, obwohl sie nicht an ein bestimmtes UI-Element gebunden sind. Dies ähnelt der Ausführung einer unendlichen Animation. Normalerweise ist der UI-Thread nur aktiv, wenn arbeite, aber das Hinzufügen eines Handlers für dieses Ereignis erzwingt, dass er jeden Frame ausführen muss, wodurch Optimierungen der Systemenergienutzung verhindert werden können. Daher empfiehlt es sich, alle Renderinghandler zu entfernen, wenn Sie sie nicht mehr benötigen, und sie nur dann hinzuzufügen, wenn Sie sie benötigen. Fügen Sie beispielsweise den Handler nur hinzu, wenn bestimmte Seiten mit synchronisiertem DirectX-Inhalt geladen werden, und entfernen Sie den Handler dann im Rahmen der Seitenbereinigung (Page.OnNavigatedFrom). Weitere Informationen finden Sie im Abschnitt Unendliche Animationen sparsam verwenden des Leistungsleitfadens.

Gilt für:

Weitere Informationen