Einzelnen Beitrag anzeigen

Blamaster

Registriert seit: 20. Jul 2007
230 Beiträge
 
#3

AW: Canvas und CPU Auslastung

  Alt 25. Jul 2014, 23:31
Das zeichnen im OnPaint ist mir bekannt
Einfach blind wird das Refresh auch nicht aufgerufen. Die Visualisierung ändert sich mit jedem Timeraufruf daher muss dann auch alle 25ms neu gezeichnet werden.

Ich hatte allerdings vergessen zu sagen das ich die Graphics32 Paintbox benutze. Die hat einen eigenen Backgroundbuffer in den ich aktuell zeichne. Sollte im Endeffekt aber auch nichts anderes machen als die Bitmap die im OnPaint auf die PaintBox gezeichnet wird.

Die Graphics32 Paintbox habe ich allerdings auch erst heute eingesetzt mit der Hoffnung das Problem dadurch lösen zu können. Vorher hatte ich die normale TPaintBox mit dem zeichnen im OnPaint in Kombination mit dem Refresh, allerdings bestand das Problem auch dort.

Die Probleme scheinen gefühlt eher von außen zu kommen. Ich habe das Programm jetzt einige Stunden am Stück laufen lassen und permanent die CPU Auslastung überwacht. Die lag permanent in einem Bereich von 0-3%.

Erst wenn ich so wie jetzt gerade den Firefox offen habe um zu posten geht die CPU Auslastung von meinem Programm auf fast 25%. Da muss ja in irgendeiner Form ein Zusammenhang bestehen. Gleiche Wechselwirkung besteht allerdings interessanter Weise auch zum Firefox. Auch dort ist die CPU Auslastung merkbar höher wenn mein Programm läuft.

Weiß jemand wie das Zeichnen der Canvas von Windows verwaltet wird ? Ich habe das Gefühl das beispielweise Firefox ziemlich viel zeichnen möchte, mein Programm gleichzeitig auch einen ganzen Haufen Aufträge zum neuzeichnen versendet und es dadurch in irgendeiner Queue/Fifo zu einem anstauen der Aufträge kommt kann das sein ?
  Mit Zitat antworten Zitat