我们的应用程序中有一种Carousel控件:一堆图标在旋转(TranslateTransform和DoubleAnimation用于在圆圈中移动图标)。图标只是带有DropShadowEffect的图像。在.NET 3.5中,动画很流畅。我最近切换到.NET 4,图标现在“跳”,动画不顺畅。
我试图删除DropShadowEffect,它解决了这个问题。有没有办法平滑动画元素效果?我尝试过像UseLayoutRounding,BitmapScalingMode这样的东西。可能有一些我不知道的环境?
更新 这不是性能问题。基本上,我在图像上方添加了一些文本(动画对象是带有TextBlock和Image的Grid)。之后文本移动顺利,而Image没有。就像它没有移动一个像素,而是移动两个像素。当应用效果时,看起来布局的工作方式不同。
答案 0 :(得分:1)
DropShadowEffect
是非常耗费资源的,因此很可能计算机无法及时处理它以使动画流畅。也许你可以使用边框或其他东西来模拟投影,而不是使用DropShadowEffect
。有关详细信息,请参阅this thread。