Registriert seit: 2. Apr 2004
Ort: Bonn
2.538 Beiträge
Delphi 11 Alexandria
|
AW: Alternative zu StretchBlt gesucht
8. Dez 2014, 19:31
Hab noch mal ein wenig weiter getestet:
3548 x 2558 Pixel-Grafik, Shrink auf ca. 1/8-Größe:
TLinear: 266 MS
TKernel: 140 MS
TDraft: 30 MS
TNearest: 0 MS
"Draft" ist übrigens von der Qualität besser als der Name vermuten lässt.
In der Summe "wäre" die Sache mit "Draft" sogar noch ein wenig schneller als Stretchblt, jedenfalls wenn die Reduzierung auf ca. 25% oder kleiner erfolgt. Bei Vergrößerungen ist Stretchblt in allen Fällen schneller. Da ich an anderen Stellen aber auch noch mit StretchBlt zeichne (z.T. in Regions des gleichen Bilds) unterscheiden sich die Renderergebnisse ganz leicht. Man muss schon genau hinsehen, aber es fällt eben doch auf. Wenn ich auch in den Regions mit TBitmap32 zeichne, wird es leicht langsamer.
Da ich vorerst hier nichts umstellen möchte (Programmcode immerhin über 500.000 Zeilen), passt eine nur teilweise Zeichnung mit Graphics32 nicht so richtig ins Konzept.
Die erwähnte Option "alle Stellen" im Programm auf TBitmap32 umzustellen, wäre eine Überlegung für das nächste große Update, momentan versuche ich mich noch an kleineren Optimierungen.
Generell macht die Graphics32 einen guten Eindruck.
|