zoukankan      html  css  js  c++  java
  • [Unity优化]图片处理

    参考链接:

    https://blog.csdn.net/byhook/article/details/84262330

    https://segmentfault.com/a/1190000019844821

    https://www.jianshu.com/p/5149d2f5a3fa

    一.常见图片格式

    1.RGB16:每个像素占16位(2个字节),又可细分为RGB565和RGB555,RGB565表示R、G、B分别占5位、6位、5位;RGB555表示R、G、B分别占5位、5位、5位,最高位不用

    2.RGB24:每个像素占24位(3个字节),即每个通道占8位

    3.RGBA32:每个像素占32位(4个字节),即每个通道占8位

    4.RGBA Compressed ETC2 8 bits:使用ETC2来压缩RGBA,每个像素占8位(1个字节)

    5.RGB Compressed ETC2 4 bits:使用ETC2来压缩RGB,每个像素占4位(0.5个字节)

    6.RGB Compressed ETC 4bits:使用ETC来压缩RGB,每个像素占4位(0.5个字节)

    二.各平台常用图片格式

    PC:

    1.透明:RGBA Compressed DXT5。占用大小为RGBA32的1/4

    2.不透明:RGB Compressed DXT1。占用大小为RGBA32的1/8

    Android:

    1.透明:RGBA Compressed ETC2 8 bits。占用大小为RGBA32的1/4

    2.不透明:RGB Compressed ETC2 4 bits:占用大小为RGBA32的1/8

    注意:

    ETC2支持透明和不透明,需要图片的宽高为4的倍数

    ETC只支持不透明,需要图片的宽高为2的次方

    POT:Power of 2

    NPOT:Non Power of 2

    三.占用内存计算

    1.800*800*1/1024/1024=0.61≈0.6

    2.800*760*1/1024/1024=0.58≈0.6

    3.800*720*1/1024/1024=0.54≈0.5

    4.800*800*0.5/1024=312.5

    四.优化方法

    查看内存实际占用的方法:https://www.cnblogs.com/lucater/p/12509219.html

    1.MipMaps勾选会增加内存占用,并且原本能ETC2压缩的图片(4的倍数)会变成RGBA32,因为MipMaps勾选时只有POT才能压缩。建议取消勾选

    2.选择合适的压缩格式

    3.Read/Write Enable勾选会增加内存占用(2倍)。建议取消勾选

    4.MaxSize

  • 相关阅读:
    Goahead源码解析(转)
    登录处理
    action交互
    无需FQ,自建本地CDN,秒上StackOverFlow!
    浅谈Linux中的信号处理机制(三)
    漫谈C++11 Thread库之原子操作
    漫谈c++11 Thread库之使写多线程程序
    浅谈Linux中的信号处理机制(二)
    浅谈Linux中的信号处理机制(一)
    CentOS7 安装Nginx
  • 原文地址:https://www.cnblogs.com/lyh916/p/12822746.html
Copyright © 2011-2022 走看看