Hallo,
ich habe in Expression Blend eine Animation (Rectangle und Text fliegt rein).
In der XAML ist ein "simples" Storyboard mit Keyframes. Es sind auch keine Effekte wie z. B. blur vorhanden.
Leider ruckelt bzw. flackert es. Muss man die GPU Unterstützung erst aktivieren oder was ist dabei das Problem?
Ich habe sowas schonmal in Javascript mit Tracing JIT Browsern und per Flash erzeugt. Überall ist dieser "Effekt" zu sehen 😦
Es wäre super wenn jemand eine Idee hätte.
EDIT: Die Anzahl der fps hat das Resultat leider auch nicht verändert.
Viele Grüße und Dank schonmal.
Danke. Hat sich nun erledigt. Irgendwie scheint das bei XP ne sehr gute Grafikkarte zu benötigen 😦
Bei Windows 7 läuft es viel besser.
Hallo,
bei dir sind nicht zufällig Transparenz und rahmenlose Windows im Spiel oder?
Baka wa shinanakya naoranai.
Mein XING Profil.
Leider muss ich dieses Thema nochmal eröffnen.
Unter Windows 7 läuft es viel besser aber kleine ruckler sind noch immer da.
Sie sind aber immer noch so groß das man sie bemerkt und es als sehr negativ wahrnimmt.
Transparenzen sind aktuell nicht vorhanden. Dies hatte ich mal getestet und hat den Ablauf nicht Positiv oder Negativ beeinflusst.
Das Fenster ist Rahmenlos und Maximiert. Gibt es damit Probleme?
Existiert dafür eine bessere Möglichkeit?
Ich habe weiter rumprobiert. Ich schaffe es nicht eine simple HD Animation zu erstellen die komplett Ruckelfrei ist.
Bei manchen Zuckt es zwar nur einmal jede Minute aber selbst sowas soll es nicht geben. Mache ich etwas falsch? Oder ist WPF nicht für Full HD Animationen die komplett Ruckel und Zuckfrei geeignet?
Poste doch einfach mal nen Beispielprojekt und auch deine Testhardware. Mit dem Projekt lässt sich das am einfachsten nachvollziehen und dann Tipps zu geben.
Baka wa shinanakya naoranai.
Mein XING Profil.
Poste doch einfach mal nen Beispielprojekt und auch deine Testhardware. Mit dem Projekt lässt sich das am einfachsten nachvollziehen und dann Tipps zu geben.
Folgendes Beispiel zuckt alle paar Sekunden. Das Ändern des WindowStyles hat auch keine Änderung hervorgerufen.
Die Animation habe ich unter verschiedenen (4) Systemen getestet. Drei davon waren Windows 7 64bit und einer ein Windows XP.
Auch die Grafikkarten, RAM und CPU waren unterschiedlich. Einer der Windows 7 Maschinen hat 4GB und eine NVIDIA Geforce 9800 GT. Da sollte eigentlich genug Leistung sein. Das Haupttestsystem hat einen onBoard Grafikchip. Komplexere Animationen laufen da auch ohne Probleme, aber immer mit diesem Zucken.
Bildschirmauflösung: 1920x1200
<Window
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:d="http://schemas.microsoft.com/expression/blend/2008" xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
x:Class="TextPerformanceLow.MainWindow"
x:Name="Window"
Title="MainWindow"
Width="640" Height="480" WindowState="Maximized" WindowStyle="SingleBorderWindow" WindowStartupLocation="CenterScreen" Background="Black" mc:Ignorable="d">
<Window.Resources>
<Storyboard x:Key="Storyboard1" AutoReverse="True" RepeatBehavior="Forever">
<DoubleAnimationUsingKeyFrames BeginTime="00:00:00" Storyboard.TargetName="textBlock" Storyboard.TargetProperty="(UIElement.RenderTransform).(TransformGroup.Children)[0].(ScaleTransform.ScaleX)">
<SplineDoubleKeyFrame KeyTime="00:00:00" Value="1"/>
<SplineDoubleKeyFrame KeyTime="00:00:01" Value="5"/>
<SplineDoubleKeyFrame KeyTime="00:00:01.5000000" Value="2"/>
</DoubleAnimationUsingKeyFrames>
<DoubleAnimationUsingKeyFrames BeginTime="00:00:00" Storyboard.TargetName="textBlock" Storyboard.TargetProperty="(UIElement.RenderTransform).(TransformGroup.Children)[0].(ScaleTransform.ScaleY)">
<SplineDoubleKeyFrame KeyTime="00:00:00" Value="1"/>
<SplineDoubleKeyFrame KeyTime="00:00:01" Value="5"/>
<SplineDoubleKeyFrame KeyTime="00:00:01.5000000" Value="2"/>
</DoubleAnimationUsingKeyFrames>
<ColorAnimationUsingKeyFrames BeginTime="00:00:00" Storyboard.TargetName="textBlock" Storyboard.TargetProperty="(TextElement.Foreground).(SolidColorBrush.Color)">
<SplineColorKeyFrame KeyTime="00:00:03" Value="Red"/>
<SplineColorKeyFrame KeyTime="00:00:03.5000000" Value="#FF00FF34"/>
</ColorAnimationUsingKeyFrames>
<DoubleAnimationUsingKeyFrames BeginTime="00:00:00" Storyboard.TargetName="image" Storyboard.TargetProperty="(UIElement.RenderTransform).(TransformGroup.Children)[3].(TranslateTransform.X)">
<SplineDoubleKeyFrame KeyTime="00:00:00" Value="0"/>
<SplineDoubleKeyFrame KeyTime="00:00:02" Value="464"/>
<SplineDoubleKeyFrame KeyTime="00:00:03" Value="371.5"/>
<SplineDoubleKeyFrame KeyTime="00:00:04" Value="0"/>
<SplineDoubleKeyFrame KeyTime="00:00:06" Value="464"/>
</DoubleAnimationUsingKeyFrames>
<DoubleAnimationUsingKeyFrames BeginTime="00:00:00" Storyboard.TargetName="image" Storyboard.TargetProperty="(UIElement.RenderTransform).(TransformGroup.Children)[3].(TranslateTransform.Y)">
<SplineDoubleKeyFrame KeyTime="00:00:00" Value="0"/>
<SplineDoubleKeyFrame KeyTime="00:00:02" Value="-1"/>
<SplineDoubleKeyFrame KeyTime="00:00:03" Value="522.625"/>
<SplineDoubleKeyFrame KeyTime="00:00:04" Value="0"/>
<SplineDoubleKeyFrame KeyTime="00:00:06" Value="-1"/>
</DoubleAnimationUsingKeyFrames>
<DoubleAnimationUsingKeyFrames BeginTime="00:00:00" Storyboard.TargetName="image" Storyboard.TargetProperty="(UIElement.RenderTransform).(TransformGroup.Children)[0].(ScaleTransform.ScaleX)">
<SplineDoubleKeyFrame KeyTime="00:00:02" Value="1"/>
<SplineDoubleKeyFrame KeyTime="00:00:03" Value="2.744"/>
<SplineDoubleKeyFrame KeyTime="00:00:04" Value="1"/>
</DoubleAnimationUsingKeyFrames>
<DoubleAnimationUsingKeyFrames BeginTime="00:00:00" Storyboard.TargetName="image" Storyboard.TargetProperty="(UIElement.RenderTransform).(TransformGroup.Children)[0].(ScaleTransform.ScaleY)">
<SplineDoubleKeyFrame KeyTime="00:00:02" Value="1"/>
<SplineDoubleKeyFrame KeyTime="00:00:03" Value="2.744"/>
<SplineDoubleKeyFrame KeyTime="00:00:04" Value="1"/>
</DoubleAnimationUsingKeyFrames>
</Storyboard>
</Window.Resources>
<Window.Triggers>
<EventTrigger RoutedEvent="FrameworkElement.Loaded">
<BeginStoryboard Storyboard="{StaticResource Storyboard1}"/>
</EventTrigger>
</Window.Triggers>
<Grid x:Name="LayoutRoot">
<Image x:Name="image" HorizontalAlignment="Left" Margin="0,0,0,-136" Width="160" RenderTransformOrigin="0.5,0.5" Source="Image2.png" Stretch="Fill" Height="600">
<Image.RenderTransform>
<TransformGroup>
<ScaleTransform/>
<SkewTransform/>
<RotateTransform/>
<TranslateTransform/>
</TransformGroup>
</Image.RenderTransform>
</Image>
<TextBlock x:Name="textBlock" HorizontalAlignment="Center" Margin="181.458,141.668,165.355,152.078" VerticalAlignment="Center" RenderTransformOrigin="0.5,0.5" FontSize="64" Foreground="Red" Text="Mein Demotext" TextWrapping="Wrap" d:LayoutOverrides="Width, Height">
<TextBlock.RenderTransform>
<TransformGroup>
<ScaleTransform/>
<SkewTransform/>
<RotateTransform/>
<TranslateTransform/>
</TransformGroup>
</TextBlock.RenderTransform>
</TextBlock>
</Grid>
</Window>
Das Problem besteht leider noch immer.
Gibt es niemand der Full HD Animationen mit WPF macht?
Ruckelt es bei euch nicht (spezifisch bei dem Beispiel)?
Viele Grüße