[Unity优化]认识内存

本文介绍了Unity的内存开销,包括本机堆内存、托管堆内存和引擎模块自身的内存占用,并探讨了内存浪费的情况,如内存泄露和资源冗余。此外,还提到了Unity的内存检测工具UnityProfiler和MemoryProfiler,以及第三方QA工具,如WeTest、UWA和Testplus,用于辅助内存优化。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1.Unity的内存开销介绍

1.1 本机堆内存占用

在一个较为复杂的大中型项目中, 资源的内存占用往往占据了总体内存的70%以上. 因此, 资源使用是否恰当直接决定了项目的内存占用情况. 一般来说, 一款游戏项目的资源主要可分为如下几种: 纹理 ( Texture ) , 网格 ( Mesh ) , 动画片段 ( AnimationClip ) , 音频片段 ( AudioClip ) , 材质 ( Material ) , 着色器 ( Shader ) , 字体资源 ( Font ) 以及文本资源 ( Text Asset ) 等等. 其中, 纹理, 网格, 动画片段和音频片段则是最容易造成较大内存开销的资源.

具体资源优化应该注意的点:

  • 纹理
    • 纹理格式
      • RGBA32和RGBA16格式的纹理资源, 较之”硬件支持”格式, 会在加载时占据更大的CPU 耗时
      • ETC1 格式纹理, ETC1不带透明通道, 需要准备两个纹理 ( RGBETC1纹理 + AlphaETC1纹理 )
      • ETC2 格式纹理. 对于Android 平台,该格式仅能在OpenGLES3.0 的设备上被硬件支持
      • ASTC 格式纹理.A8开始支持 ASTC
      • PVRTC 格式纹理. 支持iOS低端手机, 纹理尺寸必须是二次方正方形Unity是支持软解的, 在不支持的设备上是可以运行游戏的. 软解慢又占内存
    • 纹理尺寸
    • Mipmap功能
      • Mipmap多级渐进纹理, 可以提高渲染速度, 减少图像锯齿; 但会增加而外的内存损耗
    • Read & Write
      • 开启该选项将会使纹理内存增大一倍. 这个纹理既在显存上, 又在内存上,
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值