代码之家  ›  专栏  ›  技术社区  ›  Patrick Klug

WPF动画性能突然下降

  •  0
  • Patrick Klug  · 技术社区  · 15 年前

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

    1. 分辨率:1650x1256-仍然感觉敏捷流畅(帧速率在50到60之间)
    2. 分辨率:1820x1256-口吃,几乎不可用(帧速率在7到15之间)

    让我吃惊的是,似乎没有表现出线性下降,而是一个相当突然的下降。

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

    我想了解这件事的原因,如果有任何提示,我将不胜感激。

    2 回复  |  直到 15 年前
        1
  •  3
  •   Ray Burns    15 年前

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

    您是否可以尝试使用不同的图形卡,或使用多个RAM的图形卡,以查看问题是否发生了变化?

    另外,您的GPU是否有一种方法来配置保留多少系统RAM作为视频内存?有些人这样做。

        2
  •  1
  •   Ray Burns    15 年前

    我的猜测是,此时您的GPU内存不足,所以DirectX将返回到软件渲染。

    当你说“视区”时,你是指viewport3d,还是说viewbox?如果是ViewPort3D,动画真的需要3D处理吗?如果没有,你可以使用二维和使用转换来模拟三维,就像flash应用程序必须做的那样。