Wpf 4 TranslateTransform анимация не плавная, когда какой-то эффект применяется - PullRequest
1 голос
/ 19 января 2011

У нас есть своего рода элемент управления Карусель в нашем приложении: круг иконок вращается (TranslateTransform и DoubleAnimation используются для перемещения иконок по кругу)Icon - это просто изображение с DropShadowEffect.В .NET 3.5 анимация была плавной.Я недавно перешел на .NET 4 и иконки теперь "прыгают", анимация не плавная.

Я попытался удалить DropShadowEffect, и это решило проблему.Есть ли способ плавно анимировать элементы с помощью эффекта?Я пробовал такие вещи, как UseLayoutRounding, BitmapScalingMode.Может быть, есть какие-то настройки, о которых я не знаю?

Обновление Это не проблема производительности.По сути, я добавил текст над изображением (объект для анимации - это Grid с TextBlock и Image).После этого текст перемещается плавно, а изображение - нет.Как будто он движется не на один пиксель, а на два.Похоже, компоновка работает иначе, когда применяется эффект.

1 Ответ

1 голос
/ 19 января 2011

DropShadowEffect довольно ресурсоемкий, поэтому, скорее всего, компьютер не справится с этим вовремя, чтобы сделать анимацию плавной.Возможно, вы могли бы смоделировать тень, используя границу или что-то еще, вместо использования DropShadowEffect.См. эту тему для получения дополнительной информации.

...