尝试使用平滑文字动画构建选取框控件。目前的工作包括:使用WPF的平滑文字动画(选框)
- 使用翻译转换
- 在画布上依赖属性使用动画(左,右)
- 使用自定义依赖属性(点)的动画,并使用拉丝的视觉效果(formattedtext)
- 使用CompositionTarget.Rendering
但动画仍然不稳定和资源密集型(2-10%CPU)。在默认情况下使用WPF我以为应该产生平滑的动画窗口
测试代码:
<TextBlock x:Name="_box" FontSize="64" CacheMode="BitmapCache" Text="lorem ipsum">
<TextBlock.RenderTransform>
<TranslateTransform x:Name="AnimatedTranslateTransform" X="0" Y="0" />
</TextBlock.RenderTransform>
<TextBlock.Triggers>
<EventTrigger RoutedEvent="TextBlock.Loaded">
<BeginStoryboard>
<Storyboard>
<DoubleAnimation
Storyboard.TargetName="AnimatedTranslateTransform"
Storyboard.TargetProperty="X"
From="-300" To="300" Duration="0:0:5"
AutoReverse="True" RepeatBehavior="Forever" />
</Storyboard>
</BeginStoryboard>
</EventTrigger>
</TextBlock.Triggers>
</TextBlock>
清单:
- 确认没有软件渲染正在发生(MS性能工具和检查RenderCapability。层)
- 调用冻结任何可以想象的对象
- 禁用任何位图效果和透明度
- 经过所有字幕控制那里(同样的问题)
测试上:
- CPU:INTELL睿2双核(T6600)@ 2.2GHz的
- 内存:4GB
- GPU :的NVIDIA GeForce 9600M GS(最新的驱动程序)
- 操作系统:Windows 7(64位)
任何想法(或更好的代码示例)?
从响应看来,这不是一个WPF问题(其他选框控件适用于其他人,但不适合我),坚果我在我测试过的每台机器上都遇到同样的问题。
看来这是测试的一些电脑有问题。另外构建发布版本也有很大帮助。 – Goran 2010-06-27 15:56:15