首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >应用LayoutTransform和RenderTransform对性能有何影响?

应用LayoutTransform和RenderTransform对性能有何影响?
EN

Stack Overflow用户
提问于 2012-04-26 15:53:02
回答 2查看 4.2K关注 0票数 10

我曾经接触过LayoutTransform和RenderTransform,我知道每一种都适合于我在以前的项目中使用过的特定场景。

然而,从性能的角度来看,当使用WPF分析工具时,对于一个实例,哪个工具对UI性能的影响较小?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2012-04-26 15:59:11

由MSDN指定:

若要对FrameworkElement应用转换,请创建转换并将其应用于FrameworkElement类提供的两个属性之一: LayoutTransform -在布局传递之前应用的转换。在应用转换之后,布局系统处理元素的转换大小和位置。RenderTransform -修改元素外观的转换,但在布局过程完成后应用。通过使用RenderTransform属性而不是LayoutTransform属性,可以获得性能优势。应该使用哪个属性?由于其提供的性能优势,请尽可能使用RenderTransform属性,特别是在使用动画Transform对象时。在缩放、旋转或倾斜时使用LayoutTransform属性,并且您需要元素的父级来调整以适应元素的转换大小。请注意,当它们与LayoutTransform属性一起使用时,TranslateTransform对象似乎对元素没有影响。这是因为作为其处理的一部分,布局系统将翻译后的元素返回到其原始位置。

还有:

如果在不需要布局系统完整传递的方案中调用

LayoutTransform,则可能会导致应用程序性能低下。当您将LayoutTransform应用于面板的子项集合时,它会触发布局系统的新通道,并强制重新测量和重新排列屏幕上的所有对象。如果要更新完整的应用程序用户界面(UI),则此功能可能正是您所需的。但是,如果不需要完整的布局过程,请使用RenderTransform属性,该属性不会调用布局系统,因此通常是此方案的更好选择。

票数 14
EN

Stack Overflow用户

发布于 2012-04-26 16:01:45

为了补充gliderkite的答案,RenderTransforms也会在有能力的时候由图形处理器处理,而LayoutTransforms是在中央处理器上完成的。

票数 14
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/10329298

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档