Einzelnen Beitrag anzeigen

Benutzerbild von stahli
stahli

Registriert seit: 26. Nov 2003
Ort: Halle/Saale
4.343 Beiträge
 
Delphi 11 Alexandria
 
#17

AW: Auf's Neue: Performance bei vielen VCL Komponenten - anderer Ansatz ?

  Alt 22. Mär 2016, 17:07
Des Weiteren sollte man eventuell noch Caching einbauen. MSDN-Library durchsuchenInvalidateRect clippt zwar den nicht geänderten Bereich (sorgt also dafür, dass unveränderte Teile nicht neu gezeichnet werden), die OnPaint Routine wird allerdings trotzdem komplett durchlaufen. Das komplette Zeichnen ist aber prinzipiell nur einmalig beim Start des Programms notwendig.
Das ist eine Frage von Aufwand/Nutzen (und persönlichem Geschmack).
Einfacher ist es sicherlich, bei Änderungen ein komplettes neues Bild zu generieren. Bei den vorliegenden Anforderungen geht das sicherlich auch rappelschnell. (In meinem Demo bewegen sich tausende "Controls" auch schnell und absolut flüssig.)
Wenn man die geänderten Bereiche ermittelt und nur die neu zeichnet, muss das bei der geplanten Bildgröße und Komplexität nicht schneller sein.
Ich würde zunächst erst mal den einfachen Weg versuchen.
Stahli
http://www.StahliSoft.de
---
"Jetzt muss ich seh´n, dass ich kein Denkfehler mach...!?" Dittsche (2004)
  Mit Zitat antworten Zitat