关于纹理的解压是由CPU在内存进行还是GPU在显存进行
请问Unity3D引擎运行时,如果我们使用的是采用了某个压缩格式的纹理,则纹理是在载入时解压并按照位图的RGBA32位的格式保存在内存,还是在内存中也是压缩格式的数据,并在提交渲染时由GPU自行解压并采样纹素。为何经常看到文章说GPU硬件支持某些图片或者视频流的压缩格式。这个处理流程大概是什么样的。
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(3)
0.5
其实这是两个概念,图片压缩和纹理压缩(术语可能使用的不准确,请大神指正)。jpg和png这种是图片压缩,etc、pvrtc、astc这种是纹理压缩。图片文件从硬盘读取到内存,解压缩成为纹理,再传给gpu,gpu再进行解压缩变成具体的rgb色彩值。如果没有开RW,纹理会从内存中卸载掉。
想请教个问题:假如一张png图片原始大小为3M,在android平台上选用ETC 1 4bits压缩后为0.5M,那么打成apk包之后,它在包内的大小是0.5M 还是 3M?