On Sat, 2009-01-03 at 18:16 -0800, Elwin Estle wrote:
> I wonder if a problem I have had with saving files from Gimp in
> Windows is somehow related.  If I save direct to the local hard drive,
> there isn't much of a problem.  But if I try to save to say, a flash
> drive plugged into the same computer running Gimp, or to a network
> drive, then file save times get really long.  Yes, you expect those
> two situations to take a bit longer, but not that long.  I can save
> an .xcf file to the local drive and then transfer it to a flash drive
> or a network drive and it is loads faster than trying to save directly
> from Gimp. (which is what I typically do, save first to the local hard
> drive, then transfer the file to the drive I actually want to store
> the file on.)

No, that is because your operating system of choice sucks at file I/O.
Windows does not buffer access to flash and network drives. So an
application writing a file with lots of file I/O calls will get
miserable performance for slow drives. Copying the complete file to that
drive will transfer the data in much larger blocks and thus yield
reasonable performance. This is not the case on Linux for example. There
the operating system will take care of combining many small file I/O
operations into large buffer accesses.

We might be able to work around this limitation by porting the XCF load
and save routines and all file plug-ins to GIO, the VFS API that was
recently added to GLib. Then we could use a GBufferedOutputStream which
would do the buffering at the application level.


Gimp-user mailing list

Reply via email to