Share via


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

Ereignistyp

Hinweise

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

Um den Compiler zu erfüllen, muss der zweite e/args-Parameter Ihres Handlers für ein Renderingereignis Object sein. Verwenden Sie eventArgs nicht. Innerhalb desHandlers können Sie den Verweis auf e-Argumente/ 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 und jedes Vorkommen behandelt.

Handler für das Rendern werden im UI-Thread ausgeführt, obwohl sie nicht an ein bestimmtes UI-Element gebunden sind. Dies ähnelt dem Ausführen einer unendlichen Animation. Normalerweise ist der UI-Thread nur aktiv, wenn es zu tun gibt, aber das Hinzufügen eines Handlers für dieses Ereignis erzwingt es, jeden Frame auszuführen, 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 den Handler beispielsweise nur hinzu, wenn bestimmte Seiten mit synchronisiertem DirectX-Inhalt geladen werden, und entfernen Sie den Handler dann im Rahmen der Seitenbereinigung (OnNavigatedFrom). Weitere Informationen finden Sie im Abschnitt Sparsame Verwendung unendlicher Animationen des Leistungsleitfadens.

Gilt für:

Weitere Informationen