Intentando crear un control de marquesina con una animación de texto suave. Los esfuerzos actuales incluyen:Animación de texto suave (Marquee) con WPF
- Usando traducir transformar
- El uso de la animación en las propiedades de dependencia de mano (izquierda, derecha)
- El uso de la animación en la propiedad de dependencia a medida (punto) y el uso de elementos visuales de dibujo (FormattedText)
- Uso CompositionTarget.Rendering
Pero la animación sigue siendo agitada y requiere muchos recursos (2-10% de CPU).
Código de ensayo utilizado en defecto WPF ventana que supongo debe producir una animación suave:
<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>
Lista de comprobación:
- confirmado que no hay representación del software se lleva a cabo (herramienta de rendimiento ms y comprobar RenderCapability. Nivel)
- Llamada congelar en cualquier objeto imaginable
- Habilitado cualquier efecto de mapa de bits y transparencia
- comprobado todos los controles de marquesina hacia fuera allí (mismas cuestiones)
analizadas en:
- CPU: Intell núcleo 2 Duo (T6600) @ 2.2Ghz
- RAM: 4 GB
- GPU : NVidia GeForce 9600M GS (controladores más recientes)
- OS: Windows 7 (64 bits)
¿Alguna idea (o mejor aún ejemplo de código)?
De las respuestas parece que este no es un problema de wpf (otros controles de marquesina funcionan bien para otros pero no para mí), estoy recibiendo los mismos problemas en cada máquina que probé esto.
Parece que hay un problema con algunas de las computadoras en las que se probó. También construir una versión de lanzamiento ayuda mucho. – Goran