Why PNG compression is that much slower than JPEG on Android?
I’ve been toying with Android Bitmaps a bit and found out, that PNG compression takes much more time than even highest quality JPEG one. Much much more. On my device it can be roughly up to 10 seconds against 1.
AFAIK, PNG is basically filtered strings of pixels compressed with deflate. Well, finding the best filter for each string might be time consuming task, but there can be compromise established between speed and compression effectiveness. It shouldn’t be that slower than JPEG. How come it is?
Maybe it’s the other way around. Is there some ultra-fast JPEG implementation on Android?
UPDATE: I realy just do things like
mBitmap.compress(CompressFormat.JPEG, 100, stream);
mBitmap.compress(CompressFormat.PNG, 100, stream);
One Solution collect form web for “Why PNG compression is that much slower than JPEG on Android?”
I’ve tested my project on emulator with much bigger pictures and though PNG compression was little slower, there was no drastic difference in performance. Therefore it should be due to the hardware acceleration, as told by BitBank in the comment.