unity性能优化方案

本文详细介绍了Unity性能优化的各个方面,包括CPU与GPU的工作分配、Project Settings优化、代码和资源管理。重点讨论了静态和动态批处理、Occlusion Culling、GPU Instancing、纹理压缩以及顶点处理等关键优化技术,旨在提升游戏运行效率。
摘要由CSDN通过智能技术生成

unity性能优化方案

1.Unity 性能调试工具及使用方法
2.垃圾回收(Garbage Collection)
3.CPU相关优化
4.GPU相关优化
5.使用UPR(Unity Performance Reporting)云服务进行性能测试

每一帧需要做到的事情

  • 渲染一帧所需的时长 > CPU计算所需时长 + GPU计算所需时长
  • (比如,如果CPU上的物理计算和脚本运行要花很多时间,那么即使Shader优化的再好,也不会提高帧率;反过来说,如果GPU上压力山大,那么优化物理系统和脚本也对提高帧率没有什么大的帮助。因此,我们要分析找到整个系统中的薄弱环节,也就是漏水的水桶上最低的那一块板。)

CPU 和 GPU 各自负责的工作

  1. CPU 相关:Skinning,Batching(Static Batching,Dynamic
  2. Batching等),物理相关,用户脚本,粒子效果等 GPU 相关:Shader,Drawcalls,Image
  3. Effects(后处理) 但是CPU和GPU不是各自孤立的:
  4. Draw Call太高 -> 使用CPU做Batching降低Draw Call -> 性能提升
  5. Draw Call不高 -> 使用CPU做Batching降低Draw Call -> 浪费CPU处理能力,导致culling效率下降 -> 性能下降

优化时使用的环境

对Project Settings进行优化设置

  • 通过编辑器顶部菜单Edit/Project Settings打开项目设置界面。找到Player下面的 Other Settings界面。
  • 确保Static Batching,Dynamic Batching,GPU Skinning,Graphics Jobs 都已经启用。
  • (如果是Oculus Quest)禁用ARMv7,打开ARM64。在Scripting Backend下拉框中选择IL2CPP,这样所有的C#代码会被转成C++代码,提高运行速度。
  • (如果是Rift和Rift S)在Scripting Backend下拉框中选择IL2CPP(但是Debug会变得不方便),所以在开发阶段可以使用Mono,正式出包时改成IL2CPP。
  • 打开XR Plugin Management设置界面,安装Oculus XR Plugin,确保Initialize on Startup为勾选状态。
  • 打开Oculus设置界面,确保Shared Depth Buffer和Dash Support都为勾选状态&#
  • 1
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值