Freigeben über


CompositionTarget.Rendered Ereignis

Definition

Tritt sofort auf, nachdem der Kernrenderingprozess einen Frame gerendert hat. Mit diesem Ereignis können Sie bestimmen, wie lange das Rendern jedes Frames dauert.

// Register
static event_token Rendered(EventHandler<RenderedEventArgs> const& handler) const;

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

// Revoke with event_revoker
static CompositionTarget::Rendered_revoker Rendered(auto_revoke_t, EventHandler<RenderedEventArgs> const& handler) const;
public static event System.EventHandler<RenderedEventArgs> Rendered;
function onRendered(eventArgs) { /* Your code */ }
Microsoft.UI.Xaml.Media.CompositionTarget.addEventListener("rendered", onRendered);
Microsoft.UI.Xaml.Media.CompositionTarget.removeEventListener("rendered", onRendered);
- or -
Microsoft.UI.Xaml.Media.CompositionTarget.onrendered = onRendered;
Public Shared Custom Event Rendered As EventHandler(Of RenderedEventArgs) 

Ereignistyp

Hinweise

Tipp

Es wird empfohlen, beim Entwickeln und Testen Ihrer Anwendung den Visual Studio Application Timeline Profiler zu verwenden. Es enthält ausführlichere Informationen zum Ressourcenverbrauch Ihrer Anwendung, einschließlich der Zeit, die für die Vorbereitung von UI-Frames aufgewendet wurde.

Sie können das Gerenderte Ereignis verwenden, um die Framedauer und die Reaktionsfähigkeit der Anwendung zur Laufzeit zu messen, ohne dass Visual Studio oder ein Debugger angefügt ist. Dies kann beispielsweise verwendet werden, um Telemetriedaten für Apps zu generieren, nachdem sie bereitgestellt wurden, oder um die Menge der benutzerdefinierten DirectX-Renderingarbeiten anzupassen, die eine Anwendung für jeden Frame ausführt.

Eine längere Framedauer bedeutet, dass Ihre App mehr Arbeit ausführen musste, bevor ein Frame gerendert werden konnte. Framedauern, die länger als ca. 16 Millisekunden sind, bedeuten, dass Ihre Anwendung nicht in der Lage ist, die empfohlene Häufigkeit von 60 Frames pro Sekunde zu aktualisieren, sodass der Benutzer möglicherweise eine spürbare Verzögerung der Reaktionsfähigkeit der Benutzeroberfläche feststellen kann.

Wenn lange Framedauern angezeigt werden, sollten Sie eine Profilerstellung für Ihre Anwendung mithilfe der Visual Studio-Anwendungszeitachse und die Implementierung der empfohlenen bewährten Methoden für die Leistung in Erwägung ziehen.

Handler für Rendern werden im UI-Thread ausgeführt, obwohl sie nicht an ein bestimmtes UI-Element gebunden sind. Es ist ratsam, alle gerenderten Handler zu entfernen, wenn Sie sie nicht mehr benötigen, und sie nur dann hinzuzufügen, wenn Sie sie benötigen.

Gilt für: