CompositionTarget.Rendered イベント
定義
重要
一部の情報は、リリース前に大きく変更される可能性があるプレリリースされた製品に関するものです。 Microsoft は、ここに記載されている情報について、明示または黙示を問わず、一切保証しません。
コア レンダリング プロセスがフレームをレンダリングした直後に発生します。 このイベントを使用すると、各フレームのレンダリングにかかる時間を決定できます。
// 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 スレッドで実行されます。 レンダリングされたハンドラーは、不要になったら削除し、必要な場合にのみ追加することをお勧めします。