微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

性能 – 压缩图像是否会使图像使用更少的内存?

这是关于系统(特别是Web浏览器)如何处理压缩图像的架构/概念问题.

我们正在处理一个“图像库”网络应用程序,它在页面上有11个1920×1080图像,您可以在iPad上轻扫.我们发现它非常慢,而且我几乎可以肯定这是因为iPad在内存和页面上同时拥有如此多的大图像时遇到了麻烦.

有人建议我们更多地压缩图像;他们目前是PNG,他们想将它们重新压缩为JPG.显然文件大小会更小,但除非iPad(和其他人)有办法直接将压缩图像渲染到屏幕(帧缓冲区),我认为他们必须在渲染之前将图像解压缩到内存中.在这种情况下,似乎压缩不会影响渲染它们的性能. (除了稍微增加“解压缩”的处理能力之外.)

我的理解和假设是否正确?我们应该重新调整大小或重新压缩图像吗?

谢谢

更多信息 – 在你告诉我之前阅读这个“是的压缩图像更小” – 我是开发人员,而不是用户

使用较少的空间与使用较少的内存不同.我们没有存储问题,我们遇到渲染性能问题.代码很简单,只需在一个div和下一个div之间设置动画即可为画廊提供“滑动”效果.

当我们从等式中删除图像时,性能很好;所以我很确定瓶颈是图像,而不是代码.

被问到的问题是“压缩是否会使图像使用更少的内存”,因为其他人希望更多地压缩图像以获得性能.据我了解压缩的体系结构,你仍然需要将它解压缩到内存中的原始大小才能使用它,因此压缩不会影响内存使用;只有存储和传输.

解决方法

Does compressing an image make the image use less memory?

不,如果在显示器上显示,图像将使用相同数量的内存(唉像素).

压缩适用于图像的容器,通常是文件或临时内存缓冲区,但在屏幕上它使用相同的容器.

这是因为您需要分配要显示的每个像素.

对于24位的1920×1080图像,它将使用1920×1080×3字节(RGB中的每个颜色分量一个字节 – > 1字节= 8位),或6,220,800字节(大约6mb).

Should you re-compress?

显示时内存不会占用更少的空间,但可以更快地加载到内存中.但那是关于它的.

现在应用程序需要决定它是否仅在显示图像时会解压缩(这将导致延迟)或解压缩所有并能够立即显示它们.此决定是基于应用程序的,因此您需要检查特定的应用程序.

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐