AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren

C#: Flackern bei Animation (WPF)

Ein Thema von Jazzman_Marburg · begonnen am 16. Jun 2013 · letzter Beitrag vom 18. Jun 2013
Antwort Antwort
Benutzerbild von Jazzman_Marburg
Jazzman_Marburg

Registriert seit: 2. Aug 2004
359 Beiträge
 
#1

C#: Flackern bei Animation (WPF)

  Alt 16. Jun 2013, 19:35
Hallo Gemeinde!
Ich mache gerade die ersten Schritte mit C# und WPF -- und dachte vielleicht kennt sich ja auch der Eine oder Andere damit auch aus
Mittles Timer (System.Windows.Threading.DispatcherTimer) bewege ich eine Ellipse über das Canvas. Nun sehe ich aber ein hässliches Flackern -- welches sicher verstärkt wenn ich es schneller animieren lasse.

In Delphi gibt es ja die schöne Property DoubleBuffered, die das prima verhindern konnte.
Aber nun in C#? Zumal ja WPF doch DirectX nutzt?

Oder hat jemand eine andere Idee?

BTW: Die Programmierung dieses kleinen Spielchens wird hier von Jörn Loviscach auf YouTube demonstriert. Kann nicht erkennen (Video), dass es dort auch flackert - aber bei mir schon

Lieben Dank & Gruß
Jazzman
--- Delphi XE Starter, Windows 8 ---
  Mit Zitat antworten Zitat
Furtbichler
(Gast)

n/a Beiträge
 
#2

AW: C#: Flackern bei Animation (WPF)

  Alt 17. Jun 2013, 06:53
Wie renderst Du denn? Erst den Canvas löschen und dann die Elipse zeichnen?
  Mit Zitat antworten Zitat
Benutzerbild von pustekuchen
pustekuchen

Registriert seit: 27. Aug 2010
243 Beiträge
 
Delphi 10.1 Berlin Professional
 
#3

AW: C#: Flackern bei Animation (WPF)

  Alt 17. Jun 2013, 06:54
Dort gibt es ebenfalls die Property DoubleBuffered

http://msdn.microsoft.com/de-de/libr.../3t7htc9c.aspx

Code:
SetStyle(ControlStyles.OptimizedDoubleBuffer, true);
Crosspost: MyCSharp
~ In der Welt der Bits und Bytes ~
Delphi programming is awesome.

Geändert von pustekuchen (17. Jun 2013 um 10:13 Uhr)
  Mit Zitat antworten Zitat
Benutzerbild von Jazzman_Marburg
Jazzman_Marburg

Registriert seit: 2. Aug 2004
359 Beiträge
 
#4

AW: C#: Flackern bei Animation (WPF)

  Alt 17. Jun 2013, 09:00
Dort gibt es ebenfalls die Property DoubleBuffered

http://msdn.microsoft.com/de-de/libr.../3t7htc9c.aspx

Code:
SetStyle(ControlStyles.OptimizedDoubleBuffer, true);
Hui!
Das ist ja cool!

Werde ich ausprobieren -- vielen Dank!

Gruß
Jazzman
--- Delphi XE Starter, Windows 8 ---
  Mit Zitat antworten Zitat
Benutzerbild von Jazzman_Marburg
Jazzman_Marburg

Registriert seit: 2. Aug 2004
359 Beiträge
 
#5

AW: C#: Flackern bei Animation (WPF)

  Alt 18. Jun 2013, 07:24
Dort gibt es ebenfalls die Property DoubleBuffered
http://msdn.microsoft.com/de-de/libr.../3t7htc9c.aspx
Code:
SetStyle(ControlStyles.OptimizedDoubleBuffer, true);
Crosspost: MyCSharp
Oh - scheint es wohl nur für die WinFroms zu gelten - nicht für WPF.
Aber eine kleine Anpassung des Timers an die Bildwiederholfrequenz hat das Problem behoben.

Gruß
Jazzman
--- Delphi XE Starter, Windows 8 ---
  Mit Zitat antworten Zitat
madas

Registriert seit: 9. Aug 2007
207 Beiträge
 
#6

AW: C#: Flackern bei Animation (WPF)

  Alt 18. Jun 2013, 10:19
Dort gibt es ebenfalls die Property DoubleBuffered

http://msdn.microsoft.com/de-de/libr.../3t7htc9c.aspx

Code:
SetStyle(ControlStyles.OptimizedDoubleBuffer, true);
Crosspost: MyCSharp
Hier geht es ja um ein Problem mit WPF und nicht Windows-Forms.
WPF ist DoubleBuffered von Haus aus.

madas
  Mit Zitat antworten Zitat
Themen-Optionen Thema durchsuchen
Thema durchsuchen:

Erweiterte Suche
Ansicht

Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 22:55 Uhr.
Powered by vBulletin® Copyright ©2000 - 2022, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2021 by Daniel R. Wolf