Einzelnen Beitrag anzeigen

Medium

Registriert seit: 23. Jan 2008
3.679 Beiträge
 
Delphi 2007 Enterprise
 
#27

AW: Verständnisfrage: TImage

  Alt 16. Sep 2012, 01:14
Es ist der absolut übliche, und vermutlich auch performanteste Weg, ein Bitmap zu leeren, in dem man es wirklich einfach mit einem großen Rechteck übermalt.

Selbst 3D APIs machen das im Prinzip so, es ist auch auch der aus Computersicht offensichtlichste Weg. Der Speicher in dem das leere neu erzeugte Bild sein soll muss irgendwie initialisiert werden um nicht buntes Rauschen darin zu haben, also wird auch das Neu-Erzeugen einer frischen Instanz letztlich intern das frische neue Bitmap anfangs so "leeren" müssen. Warum dann erst den ganzen Aufwand drumrum mit verursachen?

Das Erzeugen neuer Instanzen bedingt hier insbesondere auch immer wieder Griffe in die GDI, was i.A. am Ende kaum besser sein kann. Vor allem nicht, wenn auch noch munter Größen neu angepasst werden müssen etc., wodurch schlimmstenfalls auch noch große Blöcke umher kopiert werden müssen - von den nötigen Allokationen mit ggf. Auslagern u.ä. mal ganz abgesehen. Es macht einfach null komma gar kein Sinn das so tun zu wollen.

Übermal einfach. Schnell, schlank, usus.
"When one person suffers from a delusion, it is called insanity. When a million people suffer from a delusion, it is called religion." (Richard Dawkins)
  Mit Zitat antworten Zitat