
Unity 性能优化
文章平均质量分 92
想做一系列教程供大家学习
白茶等风12138
这个作者很懒,什么都没留下…
展开
-
第十二课 Unity 内存优化_内存工具篇(Memory)详解
unity 内存部分也是优化过程中非常重要的一个环节,也会影像渲染过程中的同步等待与带宽问题。因此内存的优化也可能会给我们渲染开销带来精简,今天我们先来了解unity中的内存与使用到的内存工具。原创 2024-12-16 10:49:47 · 2718 阅读 · 0 评论 -
准备阶段 Unity优化总纲
我们在学习优化课程之前要预先做好准备功能例如最主要是的接收到一个优化的任务,应该怎么做,其次怎么做,最后怎么做。也要学习一些专业工具以及专业术语了解游戏运行机制,在排查期间思路会更清晰原创 2024-12-03 16:25:04 · 826 阅读 · 0 评论 -
第十一课 Unity编辑器创建的资源优化_预制体和材质篇(Prefabs和Materials)详解
Unity中的预制体是用来存储游戏对象、子对象及其所需组件的可重用资源,一般来说预制体资源可充当资源模版,在此模版基础上可以在场景中创建新的预制体实例。原创 2024-12-01 16:13:44 · 1265 阅读 · 0 评论 -
第十课 Unity编辑器创建的资源优化_动画篇(Animation)详解
Unity作为一款强大的游戏开发引擎,其动画系统提供了丰富的功能,但在开发大型或复杂游戏时,动画系统的性能优化变得尤为重要。本文将详细探讨Unity3D动画系统的兼容优化技术,包括技术详解和代码实现。原创 2024-12-01 15:07:02 · 1307 阅读 · 0 评论 -
第九课 Unity编辑器创建的资源优化_物理篇(Physics)详解
本文讨论了游戏开发中如何通过使用简单碰撞器、复合碰撞器、触发器、减少刚体组件和优化设置(如IsKinematic、预烘焙碰撞、层碰撞矩阵和FixedTimestep)来提高性能,同时避免不必要的复杂性。原创 2024-12-01 12:15:56 · 784 阅读 · 0 评论 -
第八课 Unity编辑器创建的资源优化_特效篇(Particle System)详解
特效对于游戏呈现来说是必不可少的,Unity经常使用粒子效果系统我们将从性能调优的角度介绍如何使用粒子系统,以及如何避免错误。 以下优化点很重要。原创 2024-12-01 11:21:38 · 1687 阅读 · 0 评论 -
第七课 Unity编辑器创建的资源优化_UI篇(UGUI)
可以从CPU和GPU两方面考虑,CPU方面,避免触发或减少Canvas的Rebuild和Rebatch,减少Drawcall,减少CPU处理顶点的时间;GPU方面,降低Overdraw,缩小纹理大小。原创 2024-11-30 20:54:48 · 1349 阅读 · 0 评论 -
第六课 Unity编辑器创建的资源优化_场景(Scene)
在Unity性能优化之场景资源优化篇里,主要对场景资源内存的优化,下面介绍一些常用的优化方法。总之性能优化是有利也有弊的,总是牺牲一个方面,去成全另一个方面。可根据项目的具体情况选择合适的优化方案。原创 2024-11-30 17:13:17 · 1185 阅读 · 0 评论 -
第五课 Unity资源导入工作流效率优化(AssetGraph工具)
之前我给大家讲述了主要资源的导入设置优化问题,上述也给大家介绍了unity目录下该如何合理的做目录划分,这些都是为了做资源导入工作流做准备,下面我们具体介绍原创 2024-11-28 15:30:41 · 979 阅读 · 0 评论 -
第四课 Animation动画资源导入设置检查与优化
优化的目标1.与原始动画无明显差异2.曲线数量,常量曲线比重大为好3.动画文件大小,动画文件在小几百K或更少合理,查过1M以上的动画文件待考虑原创 2024-11-23 16:33:11 · 1133 阅读 · 0 评论 -
第三课 Textures纹理资源导入设置检查与优化
ps:纹理会占用大部分内存,因此,导入设置非常重要。原创 2024-11-23 14:57:37 · 1190 阅读 · 0 评论 -
第二课 Model模型资源导入设置检查与优化
上期我们学习了最简单的audio音效的优化,接下来我们继续model模型资源的优化,我将汇总各路大神关于模型优化的思路和方法供你和我学习。原创 2024-11-21 13:52:20 · 1927 阅读 · 0 评论 -
准备阶段 AssetChecker性能分析工具的使用
根据上述的流程操作,我们已经学会了如何使用AssetChecker,接下来我们学习具体的优化操作;原创 2024-11-21 10:45:26 · 651 阅读 · 0 评论 -
准备阶段 Profiler性能分析工具的使用(一)
性能分析器记录应用程序性能的多个方面并显示相关信息。使用此信息可以做出有关应用程序中可能需要优化的事项的明智决策,并确认所做的优化是否产生预期结果。原创 2024-11-20 20:05:41 · 1713 阅读 · 0 评论 -
准备阶段 Statistics界面性能分析
Statistics界面分析及瓶颈的检查方法原创 2024-11-20 15:36:58 · 1023 阅读 · 0 评论 -
第一课 Audio音效资源导入设置检查与优化
本文详细介绍了Unity中音频资源的优化方法,目标是实现文件体积小、内存占用低和音质足够的音频管理。原创 2024-11-20 11:15:14 · 1120 阅读 · 0 评论 -
《Unity游戏优化》笔记(17)[21/03/18_周四][237_]
目录 8.4.15 预制池 1.可持化的组件 2.预制池系统 3.预置池 4.生成对象 5.预先生成实例 6.对象的回收 7.预制池测试 8.预制池和场景加载 9.预制池总结 8.4.16 IL2CPP优化 IL2CPP optimizations 8.4.17 WebGL优化 8.5 Unity、Mono和IL2CPP的未来 即将到来的C# Job System 8.6 小结 第9章 提示与技巧 前3天看了一下淘宝上购买的视频...转载 2022-05-26 11:53:42 · 571 阅读 · 0 评论 -
《Unity游戏优化》笔记(16)[21/03/13_周六][201_236]
目录 第8章 掌握内存管理 8.1 Mono平台 8.2 代码编译 8.3 分析内存 8.3.1 分析内存消耗 8.3.2 分析内存效率 8.4 内存管理性能增强 8.4.1 垃圾回收策略 8.4.2 手动JIT编译 8.4.3 值类型和引用类型 8.4.4 字符串连接 8.4.5 装箱(Boxing) 8.4.6 数据布局的重要性 8.4.7 UnityAPI中是数组 8.4.8 对字典键使用InstanceID 8.4.9 for...转载 2022-05-25 10:52:09 · 807 阅读 · 0 评论 -
《Unity游戏优化》笔记(15)[21/03/12_周五][170_188][第6章完_第7章完]
目录 6.3.8 优化Unity UI 6.3.9 优化着色器 6.3.10 使用更少的纹理数据 6.3.11 测试不同的GPU纹理压缩格式 6.3.12 最小化纹理交换 6.3.13 VRAM限制 6.3.14 照明优化 6.3.15 优化移动设备的渲染性能 6.4 本章小结 第7章 虚拟速度和增强加速度 7.1 XR开发 7.1.1 仿真 7.1.2 用户舒适度 7.2 性能增强 7.2.1 物尽其用 7.2.2 单通道立体渲染和...转载 2022-05-24 11:24:21 · 276 阅读 · 0 评论 -
《Unity游戏优化》笔记(14)[21/03/11_周四][160_170]
目录 6.2 性能检测问题 6.2.1 分析渲染问题 6.2.2 暴力测试 6.3 渲染性能的增强 6.3.1 启用/禁用 GPU Skinning 6.3.2 降低几何复杂度 6.3.3 减少曲面细分 6.3.4 应用GPU实例化 6.3.5 使用基于网格的LOD 6.3.6 使用遮挡剔除 6.3.7 优化粒子系统 6.2 性能检测问题 6.2.1 分析渲染问题 1.CPU瓶颈测试:在不采用批处理和阴影技术的情况下,创建成千个简单的立方体对象。 2.只创建一个需要最少量Dr转载 2022-05-23 09:58:34 · 410 阅读 · 0 评论 -
《Unity游戏优化》笔记(13)[21/03/10_周三][149_160]
目录 第6章 动态图形 6.1 渲染管线 6.1.1 GPU前端 6.1.2 GPU后端 6.1.3 光照和阴影 6.1.4 多线程渲染 6.1.5 低级渲染API 第6章 动态图形 现代图形设备的渲染管线相当复杂。即使在屏幕上渲染一个三角形,也需要执行大量的图形API调用,其中包括许多任务。 本章学习如何收集正确的数据,深入了解管线渲染,并探索各种解决方案和解决大量潜在问题的方法。 6.1 渲染管线 在确定GPU瓶颈的过程中,可能需要采用...转载 2022-05-20 10:10:30 · 476 阅读 · 0 评论 -
《Unity游戏优化》笔记(12)[21/03/09_周二][132_148][第5章完]
5.2 物理优化 5.2.1 场景设置 1.缩放 应该尽可能地使游戏世界中所有物理物体的缩放接近(1,1,1)。 Unity世界空间中的1个单位等于1米。 物体大小应该反映有效的世界尺度,因为缩放过大会导致重力移动物体的速度比预期的要慢得多。 重力参数设置: 任何浮点运算再数值接近0时都会更精确。 再项目早期,应该导入与缩放最常见的物理对象,使其比例值为(1,1,1),然后调整合适的重力值。这将再引入新对象时提供一个参考点。 2.位置 保持所...转载 2022-05-19 15:48:38 · 349 阅读 · 0 评论 -
《Unity游戏优化》笔记(11)[21/03/08_周一][126_132]
目录 5.1.2 静态碰撞器和动态碰撞器 5.1.3 碰撞检测 5.1.4 碰撞器类型 5.1.5 碰撞矩阵 5.1.6 Rigidbody激活和休眠状态 5.1.7 射线和对象投射 5.1.8 调试物理 5.1.2 静态碰撞器和动态碰撞器 动态碰撞器只意味着GameObject包含Collider组件和Rigidbody组件,如果一个动态碰撞器与另一个碰撞器发生碰撞,它们都会基于牛顿运动定律做出反应。 没有Rigidbody组件的碰撞器,称为...转载 2022-05-18 10:15:49 · 793 阅读 · 0 评论 -
《Unity游戏优化》笔记(10)[21/02/11_周四][121_125]
目录 第5章 加速物理 5.1 物理引擎的内部工作情况 5.1.1 物理和时间 第5章 加速物理 目前为止,讨论的增强建议集中在降低资源消耗和避免发生帧率问题。 如果错过了重要的碰撞事件,游戏在计算的复杂物理事件时会卡顿,或者玩家摔倒在地上,这些都将对游戏质量产生明显的负面影响。 有些游戏可能根本不使用物理,而另一些游戏则要求物理引擎在游戏期间处理大量任务。 本章介绍减少Unity物理引擎中的CPU峰值、开销和内存消耗的方法,同时包括改变物理行为的...转载 2022-05-17 11:32:04 · 218 阅读 · 0 评论 -
《Unity游戏优化》笔记(9)[21/02/10_周三][P116_120_第4章]
目录 4.3 网格和动画文件 (P116) 4.3.1 减少多边形数量 4.3.2 调整网格压缩 4.3.3 恰当使用Read-Write Enabled 4.3.4 考虑烘焙动画 4.3.5 合并网格 4.4 Asset Bundle和Resource (P119) 4.5 本章小结 (P120) 4.3 网格和动画文件 (P116) 网格和动画文件其实是顶点和蒙皮骨骼数据的大型数组,可以应用各种技术最小化文件大小,同时使其外观相似,却不完全...转载 2022-05-16 17:20:07 · 289 阅读 · 0 评论 -
《Unity游戏优化》笔记(8)[21/02/09_周二][P97_115]
目录 第4章 着手处理艺术资源 4.1 音频 (P97) 4.1.1 导入音频文件 4.1.2 加载音频文件 4.1.3 编码格式和品质级别 (P101) 4.1.4 音频性能增强 (P103) 4.2 纹理文件 (P106) 4.2.1 纹理压缩格式 4.2.2 纹理性能增强 1.减少纹理文件的大小 2.谨慎地使用Mip Map 3.从外部管理分辨率的降低 4.调整Anisotropic Filtering级别 5.考虑...转载 2022-05-12 14:47:30 · 794 阅读 · 0 评论 -
《Unity游戏优化》笔记(7)[21/02/08_周一][P81_96_第3章]
目录 第3章 批处理的优势 (P81) 3.1 Draw Call (P82) 3.2 材质和着色器 (P84) 3.3 Frame Debugger (P86) 3.4 动态批处理(P88) 3.4.1 顶点属性 3.4.2 网格缩放 3.4.3 动态批处理总结 3.5 静态批处理(P93) 3.6 本章小结 第3章 批处理的优势 (P81) 在3D图形和游戏中,批处理是一个非常通用的术语,它描述了将大量任意数据块组合在一起并将它们作为单...转载 2022-05-11 10:22:55 · 313 阅读 · 0 评论 -
《Unity游戏优化》笔记(6)[21/02/07_周日][P69_80_第2章]
目录 2.12 禁用未使用的脚本和对象 2.12.1 通过可见性禁用对象 (P70) 2.12.2 通过距离禁用对象 2.13 使用距离平方而不是距离 2.14 最小化反序列化行为 (P73) 2.15 叠加、异步地加载场景 (P74) 2.16 创建自定义的Update层 2.17 本章小结 (P80) .12 禁用未使用的脚本和对象 场景有时会变得非常繁忙,特别是构建大型的、开放的世界时。在Update回调中,调用代码的对象越多,它的伸缩性...转载 2022-05-10 13:36:38 · 135 阅读 · 0 评论 -
《Unity游戏优化》笔记(5)[21/02/06_周六][P46-69][消息系统]
目录 2.11 避免运行时使用Find()和SendMessage()方法 (P46) 2.11.1 将引用分配给预先存在的对象 (P49) 2.11.2 静态类 (P51) 2.11.3 单例组件 (P54) 2.11.4 全局消息传递系统(P58) 1.全局可访问的对象 2.注册 3.消息的处理 4.实现消息传递系统 5.消息的查询和处理 6.实现自定义消息 7.消息发送 8.消息注册 9.消息清理 (P67) 10.总结消息传递系...转载 2022-05-09 11:06:54 · 649 阅读 · 0 评论 -
《Unity游戏优化》笔记(4)[21/02/05_周五][P29_46]
目录 第2章 脚本策略 (P29) 2.1 使用最快的方法获取组件 2.2 移除空的回调定义 (P31) 2.3 缓存组件索引 (P34) 2.4 共享计算输出 2.5 Update、Coroutines和InvokeRepeating (P36) 2.6 更快的GameObject空引用检查 (P40) 2.7 避免从GameObject去除字符串属性。 2.8 使用合适的数据结构 2.9 避免运行时修改Transform的父节点 (P44) ...转载 2022-05-07 11:22:01 · 361 阅读 · 0 评论 -
《Unity游戏优化》笔记(3)[21/02/04_周四][P27_第1章]
目录 1.2.7 代码片段的针对性分析 1.Profiler脚本控制 2.自定义CPU分析 1.3 关于分析的思考 1.2.7 代码片段的针对性分析 需要进一步分析的实际问题 需求确定问题是否可以重现,在什么情况下出现性能瓶颈,以及问题代码块中问题的确切来源。 分析任务有用的技术 从脚本代码控制Profiler自定义定时和日志记录方法1.Profiler脚本控制 可以通过Profiler类在脚本代码中控制Profiler。最重...转载 2022-05-06 09:17:02 · 172 阅读 · 0 评论 -
《Unity游戏优化》笔记(2)[21/02/03_周三][P20]
《Unity游戏优化》笔记(2)[21/02/03_周三][P20] llhswwha 于 2021-02-03 ...转载 2022-05-05 16:31:53 · 168 阅读 · 0 评论 -
《Unity游戏优化》笔记(1)[21/02/02_周二][P15]
《Unity游戏优化》笔记(1)[21/02/02_周二][P15] llhswwha 于 2021-01-3...转载 2022-05-04 17:24:08 · 290 阅读 · 0 评论