我正在制作一个在桌面上滚动信息的应用程序。窗户是透明的。我一开始很简单,试图找到用于动画制作的最低 CPU 使用率,我从一个简单的 TextBlock 开始。
在我的开发机器上,我通过设置 Canvas.Left 属性和 DoubleAnimation 在屏幕上获得了非常流畅的动画。但是,在另一台 Vista 计算机上,我每 6 到 7 秒就会出现大约 1 秒的延迟。在 XP 机器上,它再次非常流畅。我在其他 3 台机器上试过,它的好坏各占 50%。我在所有机器上都安装了 3.5 SP1。
系统上的 CPU 使用率永远不会超过 10%。我可以看到我没有做任何软件渲染。我桌面上的显卡是 nVidia Geforce 7xxx 系列,其中一台不稳定的机器使用的是 nVidia Geforce 88xx 卡。所有人都使用相同的驱动程序版本和最新的。屏幕分辨率通常是 1920x1080,除了我的开发机器要大得多(2560x1600)
但是 - 如果我使用 Perforator 来禁用脏区支持 - 它在所有机器上都很流畅,但 CPU 现在是 30%
我搞不清楚了。波涛汹涌的几乎就像发条一样。有问题的机器上没有其他事情发生,所有测试的机器都是 Core 2 Duos,大量的内存,最新的驱动程序,最新的服务包,我只是不知道还能做什么。我希望只是更高的 CPU 使用率,而不是滞后。