Have you noticed that 64bit Delphi applications (Delphi 11) are running slower than 32bit versions. It seems that if there is a lot of calculations (like blending modes etc) 64 bit applications are running 5-10% slower than 32bit version.
Here is a sample command line application with Imageen v11.4.5 and running time results (antivirus disabled)
ImageEnView1 := TImageEnView.Create(nil);
ImageEnView1.IO.LoadFromFile('E:\Testing\performance\out.bmp');
imageenview1.LayersAdd(ielkimage,0,0);
imageenview1.LayersAdd(ielkimage,0,0);
imageenview1.Layers[1].Assign(imageenview1.Layers[0]);
imageenview1.Layers[2].Assign(imageenview1.Layers[0]);
imageenview1.LayersCurrent := 2;
imageenview1.Proc.Negative;
imageenview1.Layers[1].Operation := ielOverlay;
imageenview1.LayersMergeAll();
ImageEnView1.IO.savetofile('E:\Testing\performance\out2.bmp');
Results:
PowerShell measure-command:
1000x668 pixels pixels BMP image (out.bmp)
32bit
TotalMilliseconds : 61.3192
64bit
TotalMilliseconds : 65.6645
6246x4170 pixels BMP image (out.bmp)
32bit
TotalMilliseconds : 819.6748
64bit
TotalMilliseconds : 911.3409
If I disable all "layers code", just load and save bitmap then results are same:
32bit:
TotalMilliseconds : 99.1932
64bit:
TotalMilliseconds : 101.8792
Is this 64bit Delphi compiler issue?