ASTC在Unity中的使用

ASTC是什么?

简单来说,ASTC是GPU上支持解压的一种压缩格式,相对于jpg、png作为CPU上支持解压的压缩格式。

ASTC和PNG有什么区别?

如果使用jpg、png这种图片格式送显会消耗带宽,尤其是高分辨率。例如,1080*1920png来说,送显的步骤,png先解压为rgba,其解压后的数据1080*1920*4.然后这些数据送到GPU去渲染。

而ASTC格式直接将原数据送到GPU后再解压显示,CPU和GPU之间传送的数据少很多。

在Unity中经测试,一张1344*768的jpg图片转成同分辨率astc8*8的图片,其在硬盘占用的数据由261KB变成了375KB,虽然硬盘占用变大了,但是加载显示二者在内存中占用相差近20倍。jpg图片加载到内存的大小是13MB,astc图片加载内存的大小是0.7MB。

硬盘占用 内存占用
jpg 261KB 13MB
astc 375KB 0.7MB

数据量变少有什么优点? 

首先省去CPU解码步骤,加载到内存更快。另外,和网络中的带宽一样,CPU和GPU之间带宽有限,传输的数据减少会更通畅。CPU需要处理的数据减少,功耗也会降低,游戏中图片资源处理是大头。

最终表现就是画面更流畅。

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
Unity 可以通过以下几种方式来设置纹理质量: 1. QualitySettings.masterTextureLimit:这个属性用来控制纹理的质量,可以设置为 0、1、2、3 四个枚举值,分别表示所有纹理以原始分辨率加载、以原始分辨率的 1/2、1/4、1/8 加载。 2. TextureImporter.maxTextureSize:这个属性用来设置纹理的最大分辨率,可以在 Import Settings 配置。如果纹理的实际分辨率超过了这个值,Unity 会自动缩小纹理的分辨率来适应这个值。 3. TextureImporter.compressionQuality:这个属性用来设置纹理的压缩质量,可以在 Import Settings 配置。压缩质量越高,纹理的压缩比例越大,但画面质量也会相应地下降。 4. TextureImporter.textureCompression:这个属性用来设置纹理的压缩方式,可以在 Import Settings 配置。可选的压缩方式包括:Uncompressed、Compressed、High Quality、Normal Quality、Low Quality、HDR、ETC、ATC、PVRTC、ASTC 等多种格式。 5. TextureImporter.alphaIsTransparency:这个属性用来指定纹理哪些颜色被视为透明色,可以在 Import Settings 配置。如果设置为 True,则纹理所有 Alpha 值为 0 的像素都会被视为透明色。 6. TextureImporter.mipmapEnabled:这个属性用来控制是否启用纹理的 mipmap 功能,可以在 Import Settings 配置。启用 mipmap 功能可以提高纹理的显示效果,但会占用更多的内存和 GPU 资源。 7. TextureImporter.filterMode:这个属性用来设置纹理的过滤模式,可以在 Import Settings 配置。可选的过滤模式包括:Point、Bilinear、Trilinear,分别表示最近点采样、双线性过滤、三线性过滤。 通过上述 API,我们可以对纹理的质量、分辨率、压缩方式、透明度等参数进行灵活地配置,以满足游戏的需求。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值