我在ScrollViewer中的一个大型Rectangle上有一个简单的淡入淡出动画,当我将窗口大小增加到一定大小时,我注意到性能显着下降。
让我感到惊讶的是,表现似乎没有线性下降,而是突然下降。
同样使用Wpf Performance Tool不显示任何软件渲染,实际上我的CPU在动画运行时似乎没有做太多。
我想了解其原因,任何提示都会受到赞赏。
答案 0 :(得分:3)
另一种可能性是你在该分辨率下耗尽了专用的视频内存,因此DirectX在每一帧的视频内存和主系统内存之间来回传输大量数据。
有没有什么办法可以尝试使用不同的显卡或者有更多内存的显卡来查看问题是否有所改变?
另外,您的GPU是否有办法配置系统RAM保留为视频内存的数量?有些人这样做。
答案 1 :(得分:1)
我的猜测是你的GPU内存不足,所以DirectX正在回归软件渲染。
当您说“视口”时,您的意思是ViewPort3D,还是指Viewbox?如果是Viewport3D,动画真的需要3D处理吗?如果没有,您可以使用2D并使用变换来模拟3D应用程序必须执行的操作。