PNG32也带有alpha通道,并且支持无损压缩,压缩率更高,存储体积更小,为什么游戏行业更多的是使用TGA格式存储贴图。
大家的回答槽点太多了,我是来辟谣的:
TLDR:只使用 TGA 不用其它格式的,只有一个原因,懒。
具体解释下大家找的各种理由:
理由1:PNG 的 alpha channel 会被优化掉,所以用不了?
这个根本不是什么问题,大量的游戏用 PNG 存储纹理,有的游戏不用 PNG 存储通用纹理,也会用 PNG 存储 UI,因为 DXT/PVR 之类的纹理硬压缩格式都是有损的,再棱角分明的 UI 元素上,效果很差,所以即便游戏大量使用 DXT/PVR,任然会再 UI 部分使用 PNG 格式保存纹理。
而 256 色 PNG + Alpha channel 这种格式占用的空间是非常低的,对于一些图形简单的游戏,用的比较多。
理由2:PNG 需要解码,TGA 不需要解码,所以速度快?
错了,你们自己实际去测试一下,1000张 PNG/JPG 和 1000 张同样的 BMP/TGA 图片的载入速度,前者比后者快几倍,为啥?你 TGA/BMP 是节省了解码速度了,但是加载时候的 I/O 操