Unity6性能优化(5)——基础——如何了解目标优化项目


 

如何了解目标优化项目

  • 当我们拿到一个需要优化的工程时,需要带着这些问题去了解它,并能用两句话简单地概括出来
  • 第一句话是,你在对项目了解后,能用一句话对整个项目有个整体描述,主要回答:
    • 什么类型(网络or单机,游戏类型)
    • 美术风格(二次元、风格化、真实感..)
    • 什么规模(场景、资源质量)
    • 使用什么版本的引擎和什么渲染管线
    • 例如:这是一款使用Unity6.0.32f1引擎版本、URP Forward+管线开发的一款二次元大世界场景的MMORPG游戏
  • 第二句话需要我们与开发者沟通后,对项目的目标需求进行复述,包含以下需求:
    • 目标平台
    • 目标机器配置
    • 目标分辨率与帧率
    • 例如:
      目标平台 PC Mobile
      图形API DX11,DX12,Vulkan Opengles3.0 Vulkan Metal
      目标设备配置 高:4070s 16GB内存 …
      中:3060 8GB …
      低:1060 8GB …
      高8Gen2 4GB …
      中:888 3GB …
      低:865 2GB …
      目标分辨率 高 → 低 4k → 1080P 高 → 低 1080P → 540P
      目标帧率 目标60FPS,最低30FPS 目标30FPS

了解目标优化项目的步骤

  1. 基础性能的Benchmark数据
  • 帮助我们了解现在的性能指标,与目标性能指标的差距
  • 同时可以作为一步步优化成果检验的对比参考
  1. 项目资源规模与质量
  • 判断项目在不同平台与机器上目标需求是否合理,以及资源上有多大优化空间
  • 新能优化最有效的方案就是从资源入手,针对资源的优化是所有优化手段中性价比最高的
  1. 游戏场景的规模与结构
  • 针对于关卡设计的场景检查,也是非常重要的一环,可以看到场景的规模与树形结构、加载的方案、光源的数量、烘焙信息、以及引擎内定义的一些效果对象的数量级

  • 引擎功能

    • 引擎支持的部分,看参数设置是否合理,有没有用错的地方
  • 项目自定义和扩展

    • 看方案选择是否合理,实现是否高效
  • 与第三方方案

    • 看方案选择、设置是否合理,有没有更好的方案选择替换

实操案例

  • 对于项目质量,推荐使用Unity官方提供的projectAuditor工具,来为整体项目做一个统计信息
  • Textures部分,最重要的是用Resolution和Size排下序,来看大部分纹理的分辨率情况和纹理大小占用情况