Glatte Textanimation (Laufschrift) mit WPF
Versuche, ein Auswahlrechteck mit glatter Textanimation zu erstellen. Derzeitige Bemühungen umfassen:
Using translate transformVerwenden von Animation auf Canvas-Abhängigkeitseigenschaften (Links, Rechts)Verwenden Sie eine Animation für eine benutzerdefinierte Abhängigkeitseigenschaft (Point) und eine grafische Darstellung (formatierter Text).Using CompositionTarget.RenderingAber die Animation ist immer noch abgehackt und ressourcenintensiv (2-10% CPU).
Testcode, der im Standard-Wpf-Fenster verwendet wird und der meiner Meinung nach eine reibungslose Animation erzeugen sollte:
<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>
Checklist:
Bestätigt, dass kein Software-Rendering stattfindet (MS-Performance-Tool und Überprüfung von RenderCapability.Tier)Anrufen von Standbildern auf allen erdenklichen ObjektenBitmap-Effekt und Transparenz deaktivierenÜberprüft alle Laufschriftkontrollen da draußen (gleiche Probleme)Getestet am:
CPU: Intell Core 2 Duo (T6600) @ 2,2 GHzRAM: 4 GB GPU: NVidia GeForce 9600M GS (neueste Treiber)OS: Windows 7 (64 Bit)Irgendwelche Ideen (oder noch besser Codebeispiel)?
Aus den Antworten geht hervor, dass es sich nicht um ein Wpf-Problem handelt (andere Auswahlrechte funktionieren für andere, aber nicht für mich), aber ich erhalte auf jedem Computer, auf dem ich das getestet habe, dieselben Probleme.