Mach doch mal das erzeugen und freigeben des Bildes außerhalb der Schleife. Und der Rückgabewert von makerect kann man auch vorher holen und zwischenspeichern.
Das MakeRect dauert etwa 1.1 MicroSekunden, beeinflußt also das Ergebnis kaum.
Zudem geht es ja nicht darum 100 Mal das gleiche hintereinander zu zeichnen sondern darum entweder ein TBitmap oder ein TGPBitmap zu zeichnen. Zu diesem Zeichnen gehört nun mal auch das MakeRect.
Dass ich hie das Zeichnen 100 mal wiederhole ist nur, damit die Messung per GetTickCount verwertbar ist.
Unter diesem Gesichtspunkt wäre ein separates MakeRect also eher schädlich, allerdings auch nur unwesentlich.
Und was meinst du mit "erzeugen und freigeben des Bildes außerhalb der Schleife" ?
Die Bitmaps werden doch außerhalb der Schleife erzeugt und freigegeben.
Falls du damit das TGPGraphics.Create / und Free meinst, gilt ähnliches wie für MakeRect.
Trotzdem Danke für Deinen Input.