Einzelnen Beitrag anzeigen

Benutzerbild von xZise
xZise

Registriert seit: 3. Mär 2006
Ort: Waldbronn
4.303 Beiträge
 
Delphi 2009 Professional
 
#5

Re: Flakern trotz DoubleBuffer?

  Alt 22. Jun 2006, 18:10
Zitat von Der_Unwissende:
Das erste ist, DoubleBuffered muss für das direkte Elterncontrol gesetzt werden, liegt also dein ProgressBar auf einem Control (z.B. einem Panel), muss für dieses getrennt das DoubleBuffered gesetzt werden.
Ist direkt auf der Form!

Zitat von Der_Unwissende:
Ansonsten kann es sein, dass du dein ProgressBar an sich viel zu häufig neu zeichnest. Eine Zuweisung des Fortschritts führt hier immer zum Neuzeichnen. Es ist einfacher, wenn du ein wenig die ALU mit dem Dreisatz bemühst und 'nur' Werte zwischen 0 und 100 zuweist. Wenn du hier ausrechnest, wieviel Prozent du vom gesamten Fortschritt hast und nur den Wert zuweist, wenn sich auch was geändert hat, dann wird deutlich seltener neu gezeichnet und es bleibt eine Menge mehr Rechenzeit für den Rest.
Hast du recht, aber so war es einfacher xP Mal sehen ^^

Das mit der Zeitanzeige (sind ja nur Sekunden) dachte ich auch vielleicht zu verbessern, wenns eine ist:
Delphi-Quellcode:
if {Wert den man hat} <> LTime.caption then
  LTime.caption := {Wert}
Ist das leistungssteigerend? Weil da ist dann ja immerhin eine If-abfrage hinzugekommen!
Fabian
Eigentlich hat MS Windows ab Vista den Hang zur Selbstzerstörung abgewöhnt – mkinzler
  Mit Zitat antworten Zitat