-
内容大纲
Unity是一个令人惊叹的游戏开发框架,它包含大量的特性集且易于使用,有助于将一些最炫酷的处理和渲染功能呈现给业余爱好者和专业人士。
本书展示了如何使用Unity 2017提升游戏性能,并演示高性能不仅局限于预算高的游戏。
由于没有什么能比糟糕的用户体验更快地让玩家远离游戏,因此本书首先解释了如何使用Unity Profiler检测问题,学习如何使用秒表、计时器和日志方法诊断问题。
接着介绍Unity内置的批处理流程,它们何时能用于提升性能;分析将在运行时使用最小化的空间、CPU和内存导入艺术资源,并发掘一些未充分利用的特性和方法,来管理资源数据。
然后深入研究Unity3D引擎的底层,讨论一些只有深入了解其内部工作原理的情况下才能理解的问题。
本书最后学习如何适当地组织资源来改进开发工作流,以及如何通过对象池快速有效地实例化资产。
使用Unity Profiler查找程序中任何地方的瓶颈,并发现解决它们的方法。
实现C#脚本编写的最佳实践,避免常见误区。
深入理解渲染管线,通过减少绘制调用和避免填充率瓶颈来最大化渲染管线的性能。
以大多数开发者都能理解的方式增强着色器,通过微妙而有效的性能调整优化它们。
充分利用物理引擎使场景尽可能保持动态。
组织、过滤并压缩艺术资源,保持高品质的同时最大化性能。
发现VR项目中各种严重的性能问题,找到解决它们的方法。
使用Mono框架和C#实现底层强化以最大化内存使用,避免垃圾回收。
了解项目组织的最佳实践,通过改进工作流来节省时间。 -
作者介绍
-
目录
第1章 研究性能问题
1.1 Unity Profiler
1.1.1 启动Profiler
1.1.2 Profiler窗口
1.2 性能分析的最佳方法
1.2.1 验证脚本是否出现
1.2.2 验证脚本次数
1.2.3 验证事件的顺序
1.2.4 最小化正在进行的代码更改
1.2.5 最小化内部影响
1.2.6 最小化外部影响
1.2.7 代码片段的针对性分析
1.3 关于分析的思考
1.3.1 理解Profiler工具
1.3.2 减少干扰
1.3.3 关注问题
1.4 本章小结
第2章 脚本策略
2.1 使用最快的方法获取组件
2.2 移除空的回调定义
2.3 缓存组件引用
2.4 共享计算输出
2.5 Update、Coroutines和InvokeRepeating
2.6 更快的GameObject空引用检查
2.7 避免从GameObject取出字符串属性
2.8 使用合适的数据结构
2.9 避免运行时修改Transform的父节点
2.10 注意缓存Transform的变化
2.11 避免在运行时使用Find()和SendMessage()方法
2.11.1 将引用分配给预先存在的对象
2.11.2 静态类
2.11.3 单例组件
2.11.4 全局消息传递系统
2.12 禁用未使用的脚本和对象
2.12.1 通过可见性禁用对象
2.12.2 通过距离禁用对象
2.13 使用距离平方而不是距离
2.14 最小化反序列化行为
2.14.1 减小序列化对象
2.14.2 异步加载序列化对象
2.14.3 在内存中保存之前加载的序列化对象
2.14.4 将公共数据移入ScriptableObject
2.15 叠加、异步地加载场景
2.16 创建自定义的Update()层
2.17 本章小结
第3章 批处理的优势
第4章 着手处理艺术资源
第5章 加速物理
第6章 动态图形
第7章 虚拟速度和增强加速度
第8章 掌握内存管理
第9章 提示与技巧
同类热销排行榜
- C语言与程序设计教程(高等学校计算机类十二五规划教材)16
- 电机与拖动基础(教育部高等学校自动化专业教学指导分委员会规划工程应用型自动化专业系列教材)13.48
- 传感器与检测技术(第2版高职高专电子信息类系列教材)13.6
- ASP.NET项目开发实战(高职高专计算机项目任务驱动模式教材)15.2
- Access数据库实用教程(第2版十二五职业教育国家规划教材)14.72
- 信号与系统(第3版下普通高等教育九五国家级重点教材)15.08
- 电气控制与PLC(普通高等教育十二五电气信息类规划教材)17.2
- 数字电子技术基础(第2版)17.36
- VB程序设计及应用(第3版十二五职业教育国家规划教材)14.32
- Java Web从入门到精通(附光盘)/软件开发视频大讲堂27.92
推荐书目
-
孩子你慢慢来/人生三书 华人世界率性犀利的一枝笔,龙应台独家授权《孩子你慢慢来》20周年经典新版。她的《...
-
时间简史(插图版) 相对论、黑洞、弯曲空间……这些词给我们的感觉是艰深、晦涩、难以理解而且与我们的...
-
本质(精) 改革开放40年,恰如一部四部曲的年代大戏。技术突变、产品迭代、产业升级、资本对接...