The difference is compression.
BMP = raw data as PNG = same source data using lossless compression
This saves more than 1 way in programming circles ...
- Image loading results in less raw data being loaded into RAM.
- Then you process less raw data, so you need less resources.
Tiling means that the problem is exponential for you, for example ...
44MB x 10 tiles = 440MB
Vs
3 MB x 10 tiles = 30 MB
Printers do not like to distribute massive chunks of data, and all but the more expensive printers, as a rule, prefer to print the entire document at a time (for example, to buffer the entire stream).
So, from your application, the user says โPrintโ ... your code then says โright, I'm going to send 10 copies of this,โ and the printer starts to โcacheโ 440 MB of raw data.
The most common home printers rely on a computer to cache and print what it gave, but a standard office printer will cache and then print a document.
However ... I think this is an optional thing that you can customize (I think it depends on the printer and the printer).
EDIT:
something from the world of game programming:
http://www.gamedev.net/topic/450104-png-vs-bmp/
War
source share