PNM reader is slow
Original Reporter info from Mantis: circular
-
Reporter name:
Original Reporter info from Mantis: circular
- Reporter name:
Description:
FPReadPNM is slow as it reads each character one by one.
It could be optimized by using a read buffer, for example TReadBufStream of bufstream unit.
Steps to reproduce:
Load the attached image using FPReadPPM. See sample program below.
Additional information:
program ptestpnm;
uses Classes, SysUtils, FPImage, FPReadPNM;
var
s: TFileStream;
img: TFPMemoryImage;
reader: TFPReaderPNM;
begin
writeln(TimeToStr(Now),' - Starting to load...');
img := TFPMemoryImage.Create(0,0);
reader := TFPReaderPNM.Create;
s := TFileStream.Create('B&W (ASCII).pbm', fmOpenRead);
img.LoadFromStream(s, reader);
s.Free;
reader.Free;
writeln(TimeToStr(Now),' - Done.');
img.Free;
end.
Mantis conversion info:
- Mantis ID: 36943
- Version: 3.0.4
- Fixed in version: 3.3.1
- Fixed in revision: 45226 (#112b48a5)
- Target version: 4.0.0