对纹理进行Alpha通道分离的好处

转载 2017年01月02日 21:02:34

我们正在权衡是否对纹理资源进行Alpha通道分离。现在发现,Android低端机上(OPENGL ES 2.0)使用Alpha分离,内存相当是两个ETC1的大小(相对RGBA32是小了很多),但是Shader中纹理采样会执行两次,这个采样其实对低端机消耗还是蛮大的吧?在iOS上分离是没有意义的,而且分离之后使用上会变麻烦,这样权衡之下,分离Alpha只是改善内存的话,优势看起来感觉不太明显,是否有更好的说法来说明分离的优势?

在Android平台上实施Alpha分离操作,是我们非常推荐的做法。如果项目中RGBA32、ARGB32格式的纹理较多,那么研发团队确实需要考虑尽可能将这些纹理转换成两张ETC1格式的问题。不仅内存占用可以降低为之前的1/4,同时加载效率上也会大幅提升。对于不同格式的纹理资源加载效率对比,可以查看我们之前的技术文章:加载模块深度解析之纹理篇。现在纹理的Alpha通道分离操作并不麻烦,网上已经有很多现成的代码可以使用,比如Unity一键图集生成工具。同时,分成两张ETC1纹理确实会增加一次纹理采样操作,但经过大量项目的真机实测,我们并未发现在运行时会出现性能波动。对于iOS平台来说,其PVRTC格式本身已经支持Alpha通道,所以RGBA32/ARGB32格式纹理直接转成PVRTC格式即可。但目前也有不少团队为了使Android和iOS版本开发统一,其在iOS版本上也将其Alpha通道拆开,变成两种PVRTC进行处理。这种做法会增大内存,但好处是开发环境可保持一致,因此研发团队可根据自身情况来考虑是否采用。

NGUI下alpha通道的分离与合并

U3D发布到iOS平台时,图片压缩格式一般设置成PVRTC,而发布到Android平台时候一般需要设置成ETC1,这样做的目的是为了图片压缩力度更大,降低内存的消耗。但是问题来了,Android下ET...
  • ethuangfen
  • ethuangfen
  • 2016年12月20日 15:54
  • 1384

HSV空间各通道分离实验——直观了解各通道数值的意义

本文实现了本地图片读取显示,RGB到HSV颜色空间的转换,HSV三个通道的分离与显示。直观观察HSV三个通道的值,分析其特点。...
  • bamboocan
  • bamboocan
  • 2017年04月24日 19:44
  • 1874

实现图片ETC+Alpha分离

目录 目录 原理 步骤 完整Shader代码 ETC纹理压缩格式 ETC1:它是一种为感知质量设计的有损算法,其依据是人眼对亮度改变的反应要高于色度改变,遗憾的是ETC1不支持...
  • smallrainf
  • smallrainf
  • 2016年07月10日 20:13
  • 1707

unity游戏优化之ETC压缩和 Alpha通道处理

前言  在unity中。带有透明通道的图片压缩后。均会出现一定的质量的下降。并且带有透明通道的图片占用内存较大。之前一直没有想到解决方案。最近看了一个游戏项目。里面有一个很好的解决方案。我研究了一下。...
  • qiaoquan3
  • qiaoquan3
  • 2016年11月23日 08:49
  • 1682

Unity工程里图片的RGB和Alpha通道的分离,以及显示所有带有Alpha通道贴图的Material

背景:ETC1图片格式的罪孽,不支持Alpha通道。于是程序员们将一些气力浪费在Alpha通道的处理上。 为了能使用ETC1,同时某些透明效果必须有Alpha通道,一般的处理方式是将RGB和Alpha...
  • u010153703
  • u010153703
  • 2014年09月22日 16:13
  • 6962

拆分贴图的Alpha通道 --对抗ETC1的原罪

虽然手游内容越来越丰富,手游安装包资源包越来越大,却不能否认开发者们一直在努力地缩减资源包容量。以玩家为之痴狂的精美游戏贴图的处理为例,在多方权衡采用合理尺寸的同时,还在采用各种历史悠久的久经考验的高...
  • u010153703
  • u010153703
  • 2016年05月24日 16:16
  • 3866

Unity工程里图片的RGB和Alpha通道的分离,以及显示所有带有Alpha通道贴图的Material

背景:ETC1图片格式的罪孽,不支持Alpha通道。于是程序员们将一些气力浪费在Alpha通道的处理上。 为了能使用ETC1,同时某些透明效果必须有Alpha通道,一般的处理方式是将RGB和Alpha...
  • e295166319
  • e295166319
  • 2016年09月22日 15:43
  • 1619

Unity工程里图片的RGB和Alpha通道的分离

http://blog.csdn.net/e295166319/article/details/52623704 “这篇文章里有两个明显的问题: 1. 处理Alpha贴图时是一个像素一个像素地处理...
  • e295166319
  • e295166319
  • 2016年09月22日 16:16
  • 1052

【改进版】Unity工程里图片的RGB和Alpha通道的分离

【改进版】Unity工程里图片的RGB和Alpha通道的分离
  • u010153703
  • u010153703
  • 2015年05月05日 15:18
  • 6236

拆分贴图的Alpha通道 --对抗ETC1的原罪

虽然手游内容越来越丰富,手游安装包资源包越来越大,却不能否认开发者们一直在努力地缩减资源包容量。以玩家为之痴狂的精美游戏贴图的处理为例,在多方权衡采用合理尺寸的同时,还在采用各种历史悠久的久经考验的高...
  • u010153703
  • u010153703
  • 2016年05月24日 16:16
  • 3866
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:对纹理进行Alpha通道分离的好处
举报原因:
原因补充:

(最多只允许输入30个字)