Forum: Multimedia
by Amateurprofi,
1. Mär 2016
Hallo Memnarch,
Zu "warum gehst du zum zeichnen der TBitmap über TGPGraphic?"
Mache ich nicht! Entweder habe ich mich undeutlich ausgedrückt oder Du hast falsch gelesen.
Ich schrieb:
1) GPImage oder GPBitmap laden
2) In TBitmap kopieren
3) TBitmap mit StretchBlt ausgeben.
Ich lade also die Datei in ein TGPImage oder TGBBitmap, kopiere diese in eine TBitmap und zeichne die TBitmap mit...
Forum: Multimedia
by Amateurprofi,
29. Feb 2016
Hallo Memnarch,
TPicture.LoadFromFile arbeitet zwar recht flott, aber Canvas.StretchDraw(ClientRect,Picture.Graphic) ist dafür umso langsamer.
Ich hab mal alle Varianten durchprobiert.
Die beste Alternative scheint zu sein:
1) GPImage oder GPBitmap laden
2) In TBitmap kopieren
3) TBitmap mit StretchBlt ausgeben.
Forum: Multimedia
by Amateurprofi,
29. Feb 2016
Hallo TiGü:
kannte ich auch noch nicht.
Ist aber keine Alternative, weil recht bummelig.
Im nächsten Beitrag werde ich das mal alles zusammenfassen.
Forum: Multimedia
by Amateurprofi,
29. Feb 2016
zu: "würde ich erstmal die interpolationen in TGPGraphic abstellen"
ich hab alle Modi probiert:
InterpolationModeInvalid 270 ms
InterpolationModeDefault 270 ms
InterpolationModeLowQuality 270 ms
InterpolationModeHighQuality 325 ms
InterpolationModeBilinear 270 ms
InterpolationModeBicubic 620 ms
InterpolationModeNearestNeighbor 180 ms
InterpolationModeHighQualityBilinear 370 ms
Forum: Multimedia
by Amateurprofi,
28. Feb 2016
Verstehe ich nicht.
Canvas.StretchDraw braucht doch eine Info, WAS gezeichnet werden soll, in diesem Fall eben das Bitmap.
Oder meinst du die TGPGraphic mit Canvas.StretchDraw zu zeichnen?
Das geht leider nicht.
Forum: Multimedia
by Amateurprofi,
28. Feb 2016
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...
Forum: Multimedia
by Amateurprofi,
28. Feb 2016
Mit den in der untenstehenden Test-Prozedur enthaltenen Prozeduren DrawBitmap und DrawGPBitmap zeichne ich eine Bitmap auf den Canvas einer maximierten Form.
Größe der Bitmap : 4000 x 3000 Pixel
Größe des Canvass : 1920 x 1000 Pixel
Meine Erwartung war, das das mit der GPBitmap (TGPGraphics.DrawImage) schneller geht als mit DrawBitmap (StretchBlt).
Ich habe folgende Zeiten gemessen,...