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應用程式時間軸分析您的應用程式,並實作建議的 效能最佳做法

即使轉譯的處理程式未系結至任何特定 UI 元素,仍會在 UI 線程上執行。 當您不再需要任何轉譯處理程式時,最好移除任何轉譯處理程式,並只在您需要它們時才加以新增。

適用於