Поделиться через


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. В ней содержатся более подробные сведения о потреблении ресурсов приложением, включая время, затраченное на подготовку кадров пользовательского интерфейса.

Событие Rendered можно использовать для измерения длительности кадра и скорости отклика приложения во время выполнения без подключения Visual Studio или отладчика. Например, его можно использовать для создания телеметрии для приложений после их развертывания или для настройки объема пользовательских операций отрисовки DirectX, которые приложение выполняет для каждого кадра.

Более длинная длительность кадра означает, что приложению пришлось выполнить больше работы, прежде чем кадр можно будет отрисовывать. Длительность кадра более 16 миллисекунд означает, что приложение не может обновляться с рекомендуемой частотой 60 кадров в секунду, поэтому пользователь может столкнуться с заметной задержкой в скорости реагирования пользовательского интерфейса.

Если вы видите длительные интервалы кадров, рассмотрите возможность профилирования приложения с помощью временной шкалы приложений Visual Studio и реализации рекомендуемых рекомендаций по повышению производительности.

Обработчики для отрисовки выполняются в потоке пользовательского интерфейса, даже если они не привязаны к какому-либо конкретному элементу пользовательского интерфейса. Рекомендуется удалять обработчики с отрисовкой, когда они больше не нужны, и добавлять их только тогда, когда они вам нужны.

Применяется к