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 */ }
Windows.UI.Xaml.Media.CompositionTarget.addEventListener("rendered", onRendered);
Windows.UI.Xaml.Media.CompositionTarget.removeEventListener("rendered", onRendered);
- or -
Windows.UI.Xaml.Media.CompositionTarget.onrendered = onRendered;
Public Shared Custom Event Rendered As EventHandler(Of RenderedEventArgs) 

イベントの種類

Windows の要件

デバイス ファミリ
Windows 10, version 1803 (10.0.17134.0 で導入)
API contract
Windows.Foundation.UniversalApiContract (v6.0 で導入)

注釈

ヒント

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

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

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

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

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

適用対象