书籍详情
《新书云仓Unity游戏优化帮助开发者建立关于从托管代码到引擎渲染,从CPU、内》[56M]百度网盘|亲测有效|pdf下载
  • 新书云仓Unity游戏优化帮助开发者建立关于从托管代码到引擎渲染,从CPU、内

  • 出版社:御临堂图书专营店
  • 出版时间:2020-05
  • 热度:12188
  • 上架时间:2024-06-30 09:38:03
  • 价格:0.0
书籍下载
书籍预览
免责声明

本站支持尊重有效期内的版权/著作权,所有的资源均来自于互联网网友分享或网盘资源,一旦发现资源涉及侵权,将立即删除。希望所有用户一同监督并反馈问题,如有侵权请联系站长或发送邮件到ebook666@outlook.com,本站将立马改正

内容介绍

基本信息

  • 商品名:正版新书 云仓 Unity 游戏优化(第□版) 帮助开发者建立关于从托管代码到引擎渲染,从CPU、内
  • ISBN:9787302550518
  • 定价:98
  • 出版社:清华大学出版社
  • 作者:[英]克里斯·迪金森(Chris,Dickinson)

参考信息(以实物为准)

  • 出版时间:2020-05-01
  • 印刷时间:2020-05-01
  • 版次:1
  • 印次:1
  • 包装:平装
  • 开本:16开
  • 用纸:胶版纸
  • 页数:268
  • 字数:368000

内容简介

  Unity是一个令人惊叹的游戏开发框架,它包含大量的特性集且易于使用,有助于将一些炫酷的处理和渲染功能呈现给业余爱好者和专业人士。
  《Unity游戏优化(第□版)》展示了如何使用Unity□017提升游戏性能,并演示高性能不仅□限于预算高的游戏。
  由于没有什么能比糟糕的用户体验更快地让玩家远离游戏,因此《Unity游戏优化(第□版)》首先解释了如何使用Un.tyProfiler检测问题,学习如何使用秒表、计时器和日志方法诊断问题。
  接着介绍Unity内置的批处理流程,它们何时能用于提升性能;分析将在运行时使用小化的空间、CPU和内存导入艺术资源,并发掘一些未充分利用的特性和方法,来管理资源数据。
  然后深入研究Unity3D引擎的底层,讨论一些只有深入了解其内部工作原理的情况下才能理解的问题。
  《Unity游戏优化(第□版)》□后学习如何适当地组织资源来改进开发工作流,以及如何通过对象池快速有效地实例化资产。
  使用UnityProfiler查找程序中任何地方的瓶颈,并发现解决它们的方法。
  实现C#脚本编写的好实践,避免常见误区。
  深入理解渲染管线,通过减少绘制调用和避免填充率瓶颈来大化渲染管线的性能。
  以大多数开发者都能理解的方式增强着色器,通过微妙而有效的性能调整优化它们。
  充分利用物理引擎使场景尽可能保持动态。
  组织、过滤并压缩艺术资源,保持高品质的同时大化性能。
  发现VR项目中各种严重的性能问题,找到解决它们的方法。
  使用MonO框架和C#实现底层强化以大化内存使用,避免垃圾回收。
  了解项目组织的好实践,通过改进工作流来节省时间。

前言序言

  用户体验在所有游戏中都是重要的组成部分,它不仅包括游戏的剧情和玩法,也包括运行时画面的流畅性、与多人服务器连接的可靠性、用户输入的响应性,甚至由于移动设备和云下载的流行,它还包括□终程序文件的大小。由于Unity等工具提供了大量有用的开发功能,还允许独立开发者访问,游戏开发的门槛已经大大降低了。然而,由于游戏行业的竞争激烈,玩家对游戏□终品质的期望与日俱增,游戏的各方面应该能经得起玩家和评论家的考验。
  性能优化的目标与用户体验密不可分。缺乏优化的游戏会导致低帧率、卡顿、崩溃、输入延迟、过长的加载时间、不一致以及令人不舒服的运行时行为,以及物理引擎的故障甚至过高的电池消耗(移动设备通常被忽略的指标)。只要遭遇上述问题之一,就是游戏开发者的噩梦,因为其他方面都做得很好,评论也只炮轰做得不好的一个方面。
  性能优化的目标之一是□大化地利用可用资源,包括CPU资源,如消耗的CPU循环数、使用的主存空间大小(称为RAM),也包括GPU资源[GPU有自己的内存空间(称为VRAM)]、填充率、内存带宽等。然而,性能优化□重要的目标是确保没有哪个资源不合时宜地导致性能瓶颈,优先级□高的任务得到优先执行。哪怕很小的、间歇性的停顿或性能方面的延迟都会破坏玩家的体验,打破沉浸感,限制我们尝试创建体验的潜力。另一个需要考虑的事项是,节省的资源越多,便能够在游戏中创造出更多的活动,从而产生更有趣、更生动的玩法。
  同样重要的是,要决定何时后退一步,停止增强性能。在一个拥有无限时间和资源的世界里,总会有另一种方法让游戏□得更好、更快、更高效。在开发过程中,必须确定产品达到了可接受的质量水平。如果不这样做,就会重复实现那些很少或没有实际好处的□更,而每个□更都可能引入更多的bug。
  判断一个性能问题是否值得修复的□佳方法是回答“用户会注意到它吗?”。如果这个问题的答案是“不”,那么性能优化就是白费力气。软件开发中有句老话:

目录

□□章 研究性能问题
1.1 UnityProfiler
1.1.1 启动Profiler
1.1.□ Profiler窗口
1.□ 性能分析的□佳方法
1.□.1 验证脚本是否出现
1.□.□ 验证脚本次数
1.□.3 验证事件的顺序
1.□.4 □小化正在进行的代码更改
1.□.5 □小化内部影响
1.□.6 □小化外部影响
1.□.7 代码片段的针对性分析
1.3 关于分析的思考
1.3.1 理解Profiler工具
1.3.□ 减少干扰
1.3.3 关注问题
1.4 本章小结

第□章 脚本策略
□.1 使用□快的方法获取组件
□.□ 移除空的回调定义
□.3 缓存组件引用
□.4 共享计算输出
□.5 Update、Coroutines和Invoke Repeating
□.6 更快的Game Object空引用检查
□.7 避免从Game Object取出字符串属性
□.8 使用合适的数据结构
□.9 避免运行时修改Transform的父节点
□.10 注意缓存Transform的□化
□.11 避免在运行时使用Find()和Send Message()方法
□.11.1 将引用分配给预先存在的对象
□.11.□ 静态类
□.11.3 单例组件
□.11.4 全□消息传递系统
□.1□ 禁用未使用的脚本和对象
□.1□.1 通过可见性禁用对象
□.1□.□ 通过距离禁用对象
□.13 使用距离平方而不是距离
□.14 □小化反序列化行为
□.14.1 减小序列化对象
□.14.□ 异步加载序列化对象
□.14.3 在内存中保存之前加载的序列化对象
□.14.4 将公共数据移入Scriptable Object
□.15 叠加、异步地加载场景
□.16 创建自定义的Update()层
□.17 本章小结

第3章 批处理的优势
3.1 Draw Call
3.□ 材质和着色器
3.3 Frame ebugger
3.4 动态批处理
3.4.1 顶点属性
3.4.□ 网格缩放
3.4.3 动态批处理总结
3.5 静态批处理
3.5.1 Static标记
3.5.□ 内存需求
3.5.3 材质引用
3.5.4 静态批处理的警告
3.5.5 静态批处理总结
3.6 本章小结
……

第4章 着手处理艺术资源
第5章 加速物理
第6章 动态图形
第7章 虚拟速度和增强加速度
第8章 掌握内存管理
第9章 提示与技巧

作者简介

  蔡俊鸿,拥有多年游戏开发经验,全程主导多个千万级IP游戏的客户端和服务器开发。擅长服务器和客户端的架构设计以及性能优化、客户端渲染等。目前就职于昆仑万维GameArk,担任技术总监一职。
  
  Chris Dickinson,在英格兰一个安静的小角落里长大,对数学、科学,尤其是电子游戏满怀热情。他喜欢玩游戏并剖析游戏的玩法,并试图确定它们是如何工作的。Chris在获得电子物理学的硕士学位后,他飞到美国加州,在硅谷中心的科学研究领域工作。不久后,他不得不承认,研究工作并不适合他的性格。在四处投简历之后,他找到了一份工作,□终让他走上了软件工程的正确道路(据说,这对于物理学毕业生来说并不罕见)。
  Chris是IPBX电话系统的自动化工具开发人员,这段时间的工作更适合他的性格。现在,他正在研究复杂的设备链,帮助开发人员修复和改进这些设备,并开发自己的工具。Chris学习了很多关于如何使用大型、复杂、实时、基于事件、用户输入驱动的状态机的知识。在这方面,Chris基本上是自学成才的,他对电子游戏的热情再次高涨,促使他真正弄清楚电子游戏是如何创建的。当他有足够的信心时,他回到学校攻读游戏和模拟编程的学士学位。当他获得学位时,他已经在用C++编写自己的游戏引擎(尽管还很初级),并在日常工作中经常使用这些技能。然而,如果想创建游戏,应该只是创建游戏,而不是编写游戏引擎。因此,Chris选择了他喜欢的公开发行的游戏引擎——一个称为Unity3D的优秀小工具-一并开始制作一些游戏。
  经过一段时间的独立游戏开发,Chris遗憾地决定,这条特定的职业道路的要求并不适合他,但他在短短几年积累的知识量,以大多数人的标准来看,都令人印象深刻,他喜欢利用这些知识帮助其他开发人员创建作品。从那以后,Chris编写了一本关于游戏物理的教程(Learning Game Physics with Bullet Physics and OpenGL,Packt Publishing)和两本关于Unity性能优化的书籍。他娶了他一生的挚爱Jamie,并开始在加州圣马特奥市的Jaunt公司工作,研究酷的现代技术,担任测试领域的软件开发工程师(SDET),这是一家专注于提供VR和AR体验(例如360□□)的虚拟现实/增强现实初创公司。
  工作之余,Chris一直抵抗对棋盘游戏的沉迷(特别是《太空堡垒:卡拉狄加与血腥狂怒>),他痴迷于暴雪的《守望先锋》和《星际争霸□》,专注地盯着Unity新版本,在纸上勾画出一组关于游戏的构思。