《Unity游戏优化》总览


(本章只是目录和概要,详细内容看分类上的链接。)
搞到了一本书讲的是优化方面的,浏览了一遍发现对我很有价值,不够很深,但是在宽度上涉及比较广。学习一遍记录下笔记。
作用:

  1. 自己书写记录一遍,比简单的读一遍收获效率高。以前读书只是草率的通读,导致一遍看完过段时间,内容细节都遗忘了,不得不重新读,反复读。这实际上相当于之前读的时间被浪费了。(还是要拿出高中时学习的方法…)
  2. 秉持把书读薄的原则,自己读一遍,记录自己认为重要和不懂得地方,方便复习。第二点是做学习总结,组织起框架和逻辑体系。
  3. 秉持把书读厚的原则,方便以后在细节和广度上扩展。以后学到关于优化的点都能补充到这里。

性能优化的目标之一是最大化地利用可用资源,包括:
CPU资源:如销毁的CPU循环数,使用的主存空间RAM大小;
GPU资源:显存VRAM和内存带宽,填充率等;
最重要的目标是确保没有哪个资源不合时宜的导致性能瓶颈,优先级最高的任务得到优先执行(这句话不知道和性能优化有什么关系,有懂得大佬可以举个栗子说明下)。

判断一个性能问题是否值得修复的最佳方法是:用户会注意到它吗?。如果不是那么就是白费力气,有句老话:过早的优化是万恶之源。

导致瓶颈的原因不管是持续的CPU负载,运行时CPU峰值,缓慢的内存访问,内存碎片,垃圾回收,糟糕的GPU填充率,还是内存带宽 等问题的识别根源及其减少影响的多种方式。

1.研究性能问题

1. 任务清单

查找性能问题一个通用的任务清单:

  1. 验证目标脚本是否出现在场景中
    在Hierarchy中输入 t:< monobehaviour name >
  2. 验证脚本在场景中出现的次数是否正确
  3. 验证事件的正确顺序
  4. 最小化正在进行的代码更改
  5. 尽量减少内部干扰
  6. 尽量减少外部干扰

2. UnityProfiler

首先,利用UnityProfiler检测性能瓶颈和分析问题根源。
本章节实现以下目标:

  1. 如何使用UnityProfiler收集分析数据
  2. 如何分析UnityProfiler数据以找到性能瓶颈
  3. 隔离性能问题并确定问题根源

UnityProfiler远程连接到iOS设备
https://docs.unity3d.com/Manual/TroubleShootingIPhone.html
UnityProfiler远程连接到Android设备
https://docs.unity3d.com/Manual/TroubleShootingAndroid.html

详情见分页:https://blog.csdn.net/Bilibili_Cheers/article/details/108076793

2.脚本策略

详情见分页: https://blog.csdn.net/Bilibili_Cheers/article/details/108079947

3.批处理和GPU Instancin优势

批处理这块,网上很多资料都是人云亦云,要么抄的批处理的几个限制条件。要么作者都是稀里糊涂的,强行理解为合并Mesh什么的。其实原因都是对渲染流程的不了解导致的。
详情见分页: https://blog.csdn.net/Bilibili_Cheers/article/details/108081650

4.艺术资源处理

5.加速物理

6.实时渲染

https://blog.csdn.net/Bilibili_Cheers/article/details/108131440

7.XR相关(这块暂停…)

8.内存管理

9.提示与技巧

10. …以后大的模块继续补充

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值