Share via


CompositionTarget.Rendered イベント

定義

コア レンダリング プロセスがフレームをレンダリングした直後に発生します。 このイベントを使用すると、各フレームのレンダリングにかかる時間を決定できます。

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

イベントの種類

注釈

ヒント

アプリケーションを開発およびテストするときは、Visual Studio アプリケーション タイムライン プロファイラーを使用することをお勧めします。 UI フレームの準備に費やされた時間など、アプリケーションのリソース消費量に関する詳細情報が提供されます。

Rendered イベントを使用すると、Visual Studio またはデバッガーをアタッチせずに、実行時のフレーム期間とアプリケーションの応答性を測定できます。 たとえば、デプロイ後にアプリのテレメトリを生成したり、アプリケーションが各フレームを実行しているカスタム DirectX レンダリング作業の量を調整したりするために使用できます。

フレーム期間が長いということは、フレームをレンダリングする前に、アプリがより多くの作業を実行する必要があることを意味します。 フレーム期間が約 16 ミリ秒を超える場合、アプリケーションは推奨される 60 フレーム/秒で更新できないため、ユーザーは UI の応答性に著しい遅延が発生する可能性があります。

長いフレーム期間が表示される場合は、Visual Studio アプリケーション タイムラインを使用してアプリケーションをプロファイリングし、推奨される パフォーマンスのベスト プラクティスを実装することを検討してください。

Rendered のハンドラーは、特定の UI 要素に関連付けられていない場合でも、UI スレッドで実行されます。 不要になった Rendered ハンドラーを削除し、必要な場合にのみ追加することをお勧めします。

適用対象