ios – PVR纹理消耗更少的RAM吗?

ios – PVR纹理消耗更少的RAM吗?,第1张

概述据我所知,用texturetool制作的PVR纹理只是压缩图像.因此,差异在于文件大小. 坦率地说,文件大小对我不感兴趣.我想知道的是,PVR纹理能否比普通的.PNG纹理消耗更少的RAM?或者这完全取决于纹理格式(如RGBA8888等)? 关键问题是: 给定X.png和X.pvr,如果我用纹理格式RGBA8888显示两者,是否会比另一个消耗更少的RAM? 是的,PVR将在所有阶段消耗更少的RAM 据我所知,用texturetool制作的PVR纹理只是压缩图像.因此,差异在于文件大小.

坦率地说,文件大小对我不感兴趣.我想知道的是,PVR纹理能否比普通的.PNG纹理消耗更少的RAM?或者这完全取决于纹理格式(如RGBA8888等)?

关键问题是:

给定X.png和X.pvr,如果我用纹理格式RGBA8888显示两者,是否会比另一个消耗更少的RAM?

解决方法 是的,PVR将在所有阶段消耗更少的RAM – 它在被访问时由GPU实时解压缩.没有中间减压.

数字视频中使用的类似PVR的方法是,不是在每个像素处存储RGB,而是转换为YUV,然后在每个像素处存储Y,并且每四像素块仅存储U和V两次.所以你从块的128位到64位.为了返回RGB,输出器读取完全正确的Y并根据需要插入或访问最近的U和V.

像PVR这样的方案类似的做法是不在每个像素上存储全部值,而是从附近的上下文中推断出部分值.计算在附近的是直接对应的,但是在该GPU上安排了缓存.通常更深入的是仅缩小某些通道的采样分辨率,例如:指定样本的基本偏移量,然后对每个样本使用微小的精度也很常见.

因此,GPU总是可以通过仅读取数据的非常小的本地区域中的值来获得像素X的值.

这与像PNG这样的传统方案形成对比,如果它改善压缩,必须知道X之前的流中的每个像素是可接受的.实时处理这些东西会淹没GPU的内存带宽,因此完全不切实际,因此这些纹理从磁盘解压缩然后上传.

因此,像PVR这样的方案往往导致压缩较差和每像素质量较低,但胜利的是它们可以在VRAM中压缩.如果使用PVR试图找到舒适的平衡,游戏通常会增加其纹理的分辨率.

总结

以上是内存溢出为你收集整理的ios – PVR纹理消耗更少的RAM吗?全部内容,希望文章能够帮你解决ios – PVR纹理消耗更少的RAM吗?所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/web/1010525.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-22
下一篇 2022-05-22

发表评论

登录后才能评论

评论列表(0条)

保存