다음을 통해 공유


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 요구 사항

요구 사항 Description
디바이스 패밀리
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 애플리케이션 타임라인을 사용하여 애플리케이션을 프로파일링하고 권장 성능 모범 사례를 구현하는 것이 좋습니다.

렌더링된 처리기는 특정 UI 요소에 연결되어 있지 않더라도 UI 스레드에서 실행됩니다. 렌더링된 처리기는 더 이상 필요하지 않을 때 제거하고 필요한 경우에만 추가하는 것이 좋습니다.

적용 대상