LayoutTransform과 RenderTransform을 다뤄 봤는데 각각 하나가 이전 프로젝트에서 사용 된 특정 시나리오에 적합하다는 것을 알고 있습니다.LayoutTransform과 RenderTransform 중 어느 것을 적용해도 성능에 영향이 있습니까?
그러나 성능 측면 및 WPF 프로파일 링 도구를 사용하는 동안 인스턴스 중 어느 것이 UI 성능에 미치는 영향이 어느 것입니까?
LayoutTransform과 RenderTransform을 다뤄 봤는데 각각 하나가 이전 프로젝트에서 사용 된 특정 시나리오에 적합하다는 것을 알고 있습니다.LayoutTransform과 RenderTransform 중 어느 것을 적용해도 성능에 영향이 있습니까?
그러나 성능 측면 및 WPF 프로파일 링 도구를 사용하는 동안 인스턴스 중 어느 것이 UI 성능에 미치는 영향이 어느 것입니까?
MSDN에 의해 지정된 :
가 변형하고 FrameworkElement 클래스를 제공하는 두 개의 특성 중 하나에 적용하는 FrameworkElement에 변환을 적용 만들려면 LayoutTransform - 그 레이아웃 전에인가 변환 패스. 변환이 적용된 후, 레이아웃 시스템은 요소의 변형 된 크기와 위치를 처리합니다. RenderTransform - 요소의 모양을 수정하지만 레이아웃 단계가 완료된 후에 적용되는 변환입니다. LayoutTransform 속성 대신 RenderTransform 속성을 사용하면 성능 이점을 얻을 수 있습니다. 어떤 속성을 사용해야합니까? 그것이 제공하는 성능상의 이점 때문에, 특히 애니메이션 된 Transform 개체를 사용할 때 가능한 한 RenderTransform 속성을 사용하십시오. 크기 조절, 회전 또는 기울이기를 수행 할 때 LayoutTransform 속성을 사용하고 요소의 변형 된 크기에 맞게 요소의 부모가 필요합니다. LayoutTransform 속성과 함께 사용하면 TranslateTransform 개체가 요소에 영향을주지 않는 것으로 보입니다. 이는 레이아웃 시스템이 변환 된 요소를 처리의 일부로 원래 위치로 반환하기 때문입니다.
그리고 또한 : 당신은 레이아웃 시스템에 의한 전체 과정을 필요로하지 않는 시나리오를 호출 할 경우
LayoutTransform은 애플리케이션 성능 저하가 발생할 수 있습니다. Panel의 Children 컬렉션에 LayoutTransform을 적용하면 레이아웃 시스템에서 새 패스를 트리거하고 모든 화면상의 객체를 다시 측정하고 재정렬합니다. 전체 응용 프로그램 사용자 인터페이스 (UI)를 업데이트하는 경우이 기능이 필요한 것일 수 있습니다. 그러나 전체 레이아웃 단계가 필요하지 않은 경우 레이아웃 시스템을 호출하지 않는 RenderTransform 속성을 사용하므로이 시나리오에서는 일반적으로 더 나은 선택입니다.
GridTransforms가 CPU에서 수행되는 반면, glenderkite의 답변에 추가하려면 RenderTransforms도 GPU에서 처리 할 수 있습니다.
중요한 구별점, 고맙습니다. –
매우 도움이됩니다. 감사! –