Fast picture loading lazarus / 39-Graphics ---------------------------------------------------------------------- user5 · 2016-01-16 23:33 I've been doing some picture loading speed tests. Each test in the attached code loads and displays 361 pngs. I noticed that the second run of each test ran faster than the first. I think I have the best that I can get but I'd like to know about any other loading procedure that I can try if anyone has any suggestions. Are Vampyre's low level methods fast? Code: Pascal  [Select][+][-]window.onload = function(){var x1 = document.getElementById("main_content_section"); if (x1) { var x = document.getElementsByClassName("geshi");for (var i = 0; i //uses wincrt, intfgraphics, windows, SysUtils, FileUtil,//     EpikTimer, Forms, Controls, Graphics, LResources, Process, ExtCtrls,//     Dialogs, StdCtrls, LCLProc, ActnList, LCLIntf, LCLType, Interfaces,//   Buttons, ExtDlgs, Menus, ComCtrls, strutils, Classes,//     GraphType, LazLogger; procedure TForm1.Button1Click(Sender: TObject);var timeperiod,extvar1:extended;    i:integer;    picture:TPicture;    mypng:TPortableNetworkGraphic;    tempstr1,filenum:string;    elapsedtime:string;    newimage: TLazIntfImage;    lRawImage: TRawImage;    tempvar1:integer; begin  ep iktimer1.clear; epiktimer1.start;  lRawImage.Init; lRawImage.Descripti on.Init_BPP32_A8R8G8B8_BIO_TTB(0,0); lRawImage.CreateData(false); newi mage := TLazIntfImage.Create(0,0); newimage.SetRawImage(lRawImage); ne wimage.DataDescription:=GetDescriptionFromDevice(0); mypng := TPortableNetworkGraphic.create; picture := TPicture.create; i := 0; go := true; edit1.text := ''; tempvar1 := 361; application.processmessages;  while (i < tempvar1) and (go) do  begin   application.processmessages;   i := i + 1;   str(i,filenum);                          // #1 4.1 sec. (.exe) Transparent no   //newimage.LoadFromFile('c:\temp15\bin4\image'+filenum+'.png');   //Image1.picture.Bitmap.LoadFromIntfImage(newimage);                        // #2 4.9 sec. (.exe) Transparent yes   //picture.loadfromfile('c:\temp47\image'+filenum+'.png');   //image1.picture := picture;                          // #3 5.6 sec. (.exe)   //picture.loadfromfile('c:\temp47\image'+filenum+'.png');   //image1.canvas.draw(0,0,picture.Graphic);                          // #4 5.2 sec. (.exe) Transparent: yes   //image1.picture.loadfromfile('c:\temp47\image'+filenum+'.png');                        // #5 4.1 sec. (.exe) Transparent no   newimage.LoadFromFile('c:\temp47\image'+filenum+'.png');   mypng.LoadFromIntfImage(newimage);   image1.canvas.draw(0,0,mypng);   end;  newimage.free; sound(350); timeperiod := epiktimer1.elapsed; elapsedtime := FloatToStr(timeperiod); edit1.text := 'Time:> '+elapsedtime; picture.free; mypng.free;end; ---------------------------------------------------------------------- benohb · 2016-01-18 00:08 This depend on : operating system /file system / storage types /syscall QuoteAre Vampyre's low level methods fast? Yes, in some stages