Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Object-Pascal / Delphi-Language (https://www.delphipraxis.net/32-object-pascal-delphi-language/)
-   -   Delphi StretchDraw auf Paintbox in XE3 langsamer als in XE2 (https://www.delphipraxis.net/177085-stretchdraw-auf-paintbox-xe3-langsamer-als-xe2.html)

PhilmacFLy 15. Okt 2013 10:02

Delphi-Version: XE2

StretchDraw auf Paintbox in XE3 langsamer als in XE2
 
Moin

Wie ich ja jetzt schon mal geposted hab zieh ich momentan einige Projekte von Delphi 2005 auf XE3.
Jetzt habe ich folgenden Code portiert:
Delphi-Quellcode:
procedure TForm1.pb_backPaint(Sender: TObject);
var
balkenrect: Trect;
begin
balkenrect := Rect(0, round(screen.height *0.14), screen.Width, screen.Height);
pb_back.Canvas.StretchDraw(balkenrect, im_hintergrund.Picture.Graphic);
end;
In Delphi 2005 funktioniert der problemlos.
In XE3 funktioniert er auch aber ist um einiges langsamer und zwar so langsam, das man es merkt.
Das Bild ist ein jpg Bild mit der stattlichen Größe von 4672x2406 Pixel. Wenn ich das Bild auf 2000 Pixel verkleiner gehts natürlich schneller.
Mich würde aber trotzdem interessieren warum es im XE3 langsamer ist als in Delphi 2005.

Edit: grad gemerkt das der Titel falsch is soll natürlich heissen: "StretchDraw auf Paintbox in XE3 langsamer als in Delphi 2005"

Bernhard Geyer 15. Okt 2013 10:03

AW: StretchDraw auf Paintbox in XE3 langsamer als in XE2
 
hast du mal den Quellcode der in der VCL steckt hinter StretchDraw steckt verglichen?

PhilmacFLy 15. Okt 2013 10:24

AW: StretchDraw auf Paintbox in XE3 langsamer als in XE2
 
Auf die schnelle hab ich keinen Unterschied feststellen können :|

himitsu 15. Okt 2013 10:35

AW: StretchDraw auf Paintbox in XE3 langsamer als in XE2
 
Kann jetzt nichts zum Problem sagen, aber mir ist grade aufgefallen, daß TImage mindestens seit XE extrem langsam ist, wenn man dort das Image gestretcht anzeigt.

> Neues JPEG da reinladen, dann flackert die Anzeige ... je größer das Bild, um so mehr fällt es auf und um so länger wird est, daß da mal "kurz" der Hintergrund sichtbar wird.


Alle Zeitangaben in WEZ +1. Es ist jetzt 21:57 Uhr.

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz