Wpf动画性能突然下降

Wpf动画性能突然下降,wpf,performance,animation,Wpf,Performance,Animation,我在ScrollViewer中的一个大矩形上有一个简单的淡入动画,当我将窗口大小增加到超过某个大小时,我注意到性能显著下降 分辨率:1650x1256-仍然感觉轻快流畅(帧速率在50到60之间) 分辨率:1820x1256-口吃,几乎无法使用(帧速率在7到15之间) 令我惊讶的是,性能似乎并没有直线下降,而是突然下降 此外,使用Wpf性能工具不会显示任何软件渲染,事实上,当动画运行时,我的CPU似乎没有做多少工作 我想了解造成这种情况的原因,如有任何提示,我们将不胜感激。我猜,您的GPU内存正在

我在ScrollViewer中的一个大矩形上有一个简单的淡入动画,当我将窗口大小增加到超过某个大小时,我注意到性能显著下降

  • 分辨率:1650x1256-仍然感觉轻快流畅(帧速率在50到60之间)
  • 分辨率:1820x1256-口吃,几乎无法使用(帧速率在7到15之间)
  • 令我惊讶的是,性能似乎并没有直线下降,而是突然下降

    此外,使用Wpf性能工具不会显示任何软件渲染,事实上,当动画运行时,我的CPU似乎没有做多少工作


    我想了解造成这种情况的原因,如有任何提示,我们将不胜感激。

    我猜,您的GPU内存正在耗尽,因此DirectX将退回到软件渲染


    当你说“视口”时,你是指ViewPort3D,还是指Viewbox?如果是Viewport3D,动画真的需要3D处理吗?如果没有,您可以使用2D并使用转换来模拟3D,就像Flash应用程序必须做的那样。

    我猜您的GPU内存正在耗尽,因此DirectX将返回到软件渲染


    当你说“视口”时,你是指ViewPort3D,还是指Viewbox?如果是Viewport3D,动画真的需要3D处理吗?如果没有,您可以使用2D并使用转换来模拟3D,就像Flash应用程序必须做的那样。

    另一种可能性是,您在该分辨率下的专用视频内存即将用完,因此DirectX在每一帧的视频内存和主系统内存之间来回传输大量数据

    有没有什么方法可以尝试使用不同的显卡,或者使用RAM更多的显卡,以查看问题是否发生了变化


    此外,您的GPU是否有办法配置保留多少系统RAM作为视频内存?有些是这样。

    另一种可能是,在该分辨率下,专用视频内存即将用完,因此DirectX在每个帧的视频内存和主系统内存之间来回传输大量数据

    有没有什么方法可以尝试使用不同的显卡,或者使用RAM更多的显卡,以查看问题是否发生了变化


    此外,您的GPU是否有办法配置保留多少系统RAM作为视频内存?有些是这样。

    对不起,我指的是ScrollViewer-我没有使用任何3D功能;有没有一种方法可以让我看到它是否会下降到软件渲染?我将尝试使用perforator,看看我是否能找到任何东西。据我所知,在Wpf性能工具中,它不会回落到软件渲染。对不起,我指的是ScrollViewer-我没有使用任何3D功能;有没有一种方法可以让我看到它是否会下降到软件渲染?我将尝试使用perforator,看看我是否能找到任何东西。就我在Wpf性能工具中所看到的而言,它不会返回到软件渲染。在进一步测试后,似乎是这样的。我认为除了更新视频内存之外没有其他解决方案。经过进一步测试,情况似乎是这样。我认为除了更新视频内存之外没有其他解决方案。