繁体   English   中英

WPF的StackPanel性能不佳

[英]Poor StackPanel performance with WPF

我有一个在高分辨率显示器(1920x1080)上全屏运行的应用程序。 屏幕的大约25%是StackPanel ,可在屏幕上滚动图像。 (X位置使用双重动画进行动画处理)

纸卷非常松散,跳动,并且有明显的撕裂。 它在运行Win7 64bit的全新高端游戏笔记本电脑上运行。

我不明白为什么性能这么差。 难道我做错了什么? 这种动画是否在CPU或GPU上运行? 有没有一种更聪明的方式可以在屏幕上滚动图像?

WPF可以硬件加速,但只能在更新的视频卡驱动程序上使用。 某些板载,开箱即用的驱动程序将默认返回到软件渲染,这会感觉非常缓慢且笨拙。 至于撕裂,这是正常的视频卡设置,称为V-Sync。 我会尝试将视频卡驱动程序更新为专有驱动程序(nVidia,AMD等),并在卡上启用垂直同步。

您可以使用此处说明的方法检查它是否属于软件或硬件渲染。

如果那不能解决问题,则我想到的唯一其他可能性是您的动画/渲染未同步到GUI。

为更多细节MSDN文章。

我见过的一个可以解决此问题的技巧是在页面上放置3D对象,侧面对其进行查看并旋转它,例如,对于4张图像,每个立方体都设置了一个立方体。 是的,旋转仍然需要GPU和处理器时间,但是WPF动画会在内部对其进行处理,因此在滚动设置后不需要与代码交互。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM