Loading TGA textures seems to be very slow. If you want a comparison try loading a bunch of tga images (10 or 20) and then convert them to PNG, any you'll see a speedup. Java's ImageIO.read is much faster.
I looked into this a bit, and it seems that setRGB() is a fairly slow function. At least that's what YourKit is telling me. TGA is about 10x slower to load than PNG. After discovering that I was wondering what ImageIO was doing so that TGA's could be loaded faster also.
That lead me here (this is the parser for GIF Images, I believe. It's a bit outdated, but should give clues as to what to do. We could try looking at OpenJDK, I suppose.):
http://www.google.com/codesearch?hl=en&q=show:F_2IwIkThWQ:DW3SgkMvek0:jRWAtEoc_UM&sa=N&ct=rd&cs_p=http://dsc.ufcg.edu.br&cs_f=~dalton/javasrc/com/sun/imageio/plugins/gif/GIFImageReader.java&start=1That's where the trail started going cold. As I'm not a 'graphics' person per se, I'm not sure of exactly what to do. It seems as though they're using a WritableRaster and passing in a lot of data at once, but I haven't been able to get that function to work for me the same way.
My reason for looking into this is one of the main bottlenecks of the importing process right now is loading images. Has anybody looked into this? Anyone more knowledgable about image formats than me want to take a look at it?
Thanks