我正在使用新的Silverlight 4,当我在OOB中运行示例应用程序时,令我惊讶的是,在动画过程中移动鼠标时,所有动画都变得非常生涩,但是当我在浏览器中运行应用程序时,即使移动鼠标,动画也很流畅。
我在两台不同的计算机上尝试了我的应用程序,在OOB设置中打开了GPU加速-并得到了相同的结果。
这是Silverlight的已知问题吗?
我正在运行WinXP SP3
更新:在3台Windows 7机器上进行了测试-完全没有问题(在OOB和浏览器中运行),另外5台WinXP SP3机器进行了测试-在OOB中运行的任何Silverlight 4应用程序上均具有100%可再现的问题
最佳答案
启用“在浏览器中启用GPU加速”是不够的。该设置与.CacheMode属性协同工作,该属性必须在所有其渲染的位图将被发送到GPU的元素(或顶级元素)上进行设置。
从那里,GPU可以硬件加速旋转,缩放,不透明和剪切。如果您的动画执行上述任何操作,则需要在要设置动画的顶级元素上设置element.CacheMode =“ BitmapCache”。
同样,您需要打开“启用GPU加速”功能。
如果缺少任何一步,您将不会获得GPU加速。
硬件加速的一些警告:
上次我检查时,像素着色器和透视变换没有硬件加速。
硬件加速可以在XP上运行,但是要求您具有NVidia,ATI或Intel的视频卡,驱动程序的日期必须是2004年11月之后。任何事情都不会加速。
我建议阅读MSDN's article on hardware acceleration。
关于performance - 在OOB中运行应用程序时出现Jerky Silverlight 4动画,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2652636/