clouds


Ouch, Pnglet Creation Timings

The creation of a Pnglet has a variable cost which depends on the details of the content drawn, and a fixed cost which depends only on the size of the image.

The costs which depend on the size of the image are the two levels of checksums and the cost of assembling the image contents into the final image format. In the following table, the two levels of checksum are itemized as Adler32 and CRC32, the assembly of the image is itemized as Join, and the overhead which the checksums introduce is itemized as Overhead, which is simply computed as: (Adler32+CRC32+Join)/Join.

Image SizeAdler32CRC32JoinOverhead
(pixels)(ms)(ms)(ms)(x)
322155194750
6427586112360
6426696022944
6426995452355
962207719338150
1282289922099654
2562199251293749367

Thus a 256 pixel square image which could be assembled in half a second actually takes 67 times as long, half a minute, because of the cost of the checksums.

The best solution to this would be if the PNG format allowed a variation in which checksums were omitted. Any browser manufacturer who wanted Pnglets to work a lot better than they do could implement an extension to PNG which supported this.



Roger E Critchlow Jr
Last modified: Fri May 16 19:45:55 MDT 2003
elf.org