【发布时间】:2013-05-29 12:04:51
【问题描述】:
我一直在玩弄 Android 位图,发现 PNG 压缩比最高质量的 JPEG 压缩需要更多的时间。更多。在我的设备上,相对于 1 而言,它可能大约长达 10 秒。
AFAIK,PNG 基本上是用 deflate 压缩的过滤像素字符串。好吧,为每个字符串找到最佳过滤器可能是一项耗时的任务,但在速度和压缩效率之间可能存在折衷。它不应该比JPEG慢。这是怎么回事?
也许情况正好相反。 Android 上是否有一些超快速的 JPEG 实现?
更新:我真的只是做类似的事情
mBitmap.compress(CompressFormat.JPEG, 100, stream);
和
mBitmap.compress(CompressFormat.PNG, 100, stream);
【问题讨论】:
-
你应该放一些代码来展示你是如何压缩的。
-
JPEG 可以硬件加速,PNG 总是在软件中完成。 JPEG 需要固定的时间来处理。 90+% 的 PNG 编码和解码时间都花在了 flate 编解码器上。过滤需要很短的时间。以最高质量级别进行放气需要很长时间,因为它会尝试多种方法来获得最佳压缩效果。
-
其实Skia确实支持JPEG硬件加速。那我应该在模拟器上检查我的代码。如果性能差距缩小,那么一定是它。
标签: android performance png jpeg