您好,欢迎光临有路网!
Unity 游戏优化(第2版)
QQ咨询:
有路璐璐:

Unity 游戏优化(第2版)

  • 作者:(英) 克里斯·迪金森(Chris Dickinson)著 蔡俊鸿 雷鸿飞译
  • 出版社:清华大学出版社
  • ISBN:9787302550518
  • 出版日期:2020年05月01日
  • 页数:111
  • 定价:¥98.00
  • 分享领佣金
    手机购买
    城市
    店铺名称
    店主联系方式
    店铺售价
    库存
    店铺得分/总交易量
    发布时间
    操作

    新书比价

    网站名称
    书名
    售价
    优惠
    操作

    图书详情

    内容提要
    ● 使用Unity Profiler查找程序中任何地方的瓶颈,并发现解决它们的方法。 ● 实现C#脚本编写的更佳实践,避免常见误区。 ● 深入理解渲染管线,通过减少绘制调用和避免填充率瓶颈来更大化渲染管线的性能。 ● 以大多数***都能理解的方式增强着色器,通过微妙而有效的性能调整优化它们。 ● 充分利用物理引擎使场景尽可能保持动态。 ● 组织、过滤并压缩艺术资源,保持高品质的同时更大化性能。 ● 发现VR项目中各种严重的性能问题,找到解决它们的方法。 ● 使用Mono框架和C#实现底层强化以更大化内存使用,避免垃圾回收。 ● 了解项目组织的*实践,通过改进工作流来节省时间。
    目录
    第1 章 研究性能问题 1 1.1 Unity Profiler 2 1.1.1 启动Profiler 3 1.1.2 Profiler窗口 7 1.2 性能分析的*佳方法 15 1.2.1 验证脚本是否出现 16 1.2.2 验证脚本次数 16 1.2.3 验证事件的顺序 17 1.2.4 *小化正在进行的代码更改 18 1.2.5 *小化内部影响 18 1.2.6 *小化外部影响 20 1.2.7 代码片段的针对性分析 20 1.3 关于分析的思考 25 1.3.1 理解Profiler工具 26 1.3.2 减少干扰 26 1.3.3 关注问题 27 1.4 本章小结 27 第2 章 脚本策略 29 2.1 使用*快的方法获取组件 29 2.2 移除空的回调定义 31 2.3 缓���组件引用 34 2.4 共享计算输出 36 2.5 Update、Coroutines 和InvokeRepeating 36 2.6 更快的GameObject空引用检查 40 2.7 避免从GameObject取出字符串属性 40 2.8 使用合适的数据结构 43 2.9 避免运行时修改Transform的父节点 44 2.10 注意缓存Transform的变化 44 2.11 避免在运行时使用Find()和SendMessage()方法 46 2.11.1 将引用分配给预先存在的对象 49 2.11.2 静态类 51 2.11.3 单例组件 54 2.11.4 全局消息传递系统 58 2.12 禁用未使用的脚本和对象 69 2.12.1 通过可见性禁用对象 70 2.12.2 通过距离禁用对象 71 2.13 使用距离平方而不是距离 72 2.14 *小化反序列化行为 73 2.14.1 减小序列化对象 73 2.14.2 异步加载序列化对象 74 2.14.3 在内存中保存之前加载的序列化对象 74 2.14.4 将公共数据移入ScriptableObject 74 2.15 叠加、异步地加载场景 74 2.16 创建自定义的Update()层 76 2.17 本章小结 80 第3 章 批处理的优势 81 3.1 Draw Call 82 3.2 材质和着色器 84 3.3 Frame Debugger 86 3.4 动态批处理 88 3.4.1 顶点属性 89 3.4.2 网格缩放 91 3.4.3 动态批处理总结 92 3.5 静态批处理 93 3.5.1 Static标记 93 3.5.2 内存需求 93 3.5.3 材质引用 94 3.5.4 静态批处理的警告 94 3.5.5 静态批处理总结 95 3.6 本章小结 96 第4 章 着手处理艺术资源 97 4.1 音频 97 4.1.1 导入音频文件 98 4.1.2 加载音频文件 98 4.1.3 编码格式与品质级别 101 4.1.4 音频性能增强 103 4.2 纹理文件 106 4.2.1 纹理压缩格式 106 4.2.2 纹理性能增强 108 4.3 网格和动画文件 116 4.3.1 减少多边形数量 117 4.3.2 调整网格压缩 117 4.3.3 恰当使用Read-Write Enabled 118 4.3.4 考虑烘焙动画 118 4.3.5 合并网格 119 4.4 Asset Bundle和Resource 119 4.5 本章小结 120 第5 章 加速物理 121 5.1 物理引擎的内部工作情况 122 5.1.1 物理和时间 122 5.1.2 静态碰撞器和动态碰撞器 125 5.1.3 碰撞检测 126 5.1.4 碰撞器类型 127 5.1.5 碰撞矩阵 129 5.1.6 Rigidbody激活和休眠状态 129 5.1.7 射线和对象投射 130 5.1.8 调试物理 130 5.2 物理性能优化 132 5.2.1 场景设置 132 5.2.2 适当使用静态碰撞器 134 5.2.3 恰当使用触发体积 134 5.2.4 优化碰撞矩阵 135 5.2.5 **离散碰撞检测 136 5.2.6 修改固定更新频率 137 5.2.7 调整允许的*大时间步长 138 5.2.8 *小化射线发射和边界体积检查 139 5.2.9 避免复杂的网格碰撞器 140 5.2.10 避免复杂的物理组件 142 5.2.11 使物理对象休眠 143 5.2.12 修改处理器迭代次数 144 5.2.13 优化布娃娃 145 5.2.14 确定何时使用物理 147 5.3 本章小结 148 第6 章 动态图形 149 6.1 管线渲染 150 6.1.1 GPU前端 151 6.1.2 GPU后端 152 6.1.3 光照和阴影 155 6.1.4 多线程渲染 159 6.1.5 低级渲染API 159 6.2 性能检测问题 160 6.2.1 分析渲染问题 160 6.2.2 暴力测试 162 6.3 渲染性能的增强 163 6.3.1 启用/禁用 GPU Skinning 163 6.3.2 降低几何复杂度 164 6.3.3 减少曲面细分 164 6.3.4 应用GPU实例化 164 6.3.5 使用基于网格的LOD 165 6.3.6 使用遮挡剔除 167 6.3.7 优化粒子系统 168 6.3.8 优化Unity UI 170 6.3.9 着色器优化 174 6.3.10 使用更少的纹理数据 181 6.3.11 测试不同的GPU纹理压缩格式 181 6.3.12 *小化纹理交换 182 6.3.13 VRAM限制 183 6.3.14 照明优化 184 6.3.15 优化移动设备的渲染性能 186 6.4 本章小结 188 第7 章 虚拟速度和增强加速度 189 7.1 XR开发 190 7.1.1 仿真 191 7.1.2 用户舒适度 192 7.2 性能增强 194 7.2.1 物尽其用 194 7.2.2 单通道立体渲染和多通道立体渲染 195 7.2.3 应用抗锯齿 196 7.2.4 **前向渲染 197 7.2.5 VR的图像效果 197 7.2.6 背面剔除 197 7.2.7 空间化音频 198 7.2.8 避免摄像机物理碰撞 198 7.2.9 避免欧拉角 198 7.2.10 运动约束 199 7.2.11 跟上*新发展 199 7.3 本章小结 199 第8 章 掌握内存管理 201 8.1 Mono平台 202 8.2 代码编译 209 8.3 分析内存 210 8.3.1 分析内存消耗 210 8.3.2 分析内存效率 211 8.4 内存管理性能增强 212 8.4.1 垃圾回收策略 212 8.4.2 手动JIT编译 213 8.4.3 值类型和引用类型 214 8.4.4 字符串连接 221 8.4.5 装箱(Boxing) 224 8.4.6 数据布局的重要性 226 8.4.7 Unity API中的数组 227 8.4.8 对字典键使用InstanceID 227 8.4.9 foreach循环 228 8.4.10 协程 229 8.4.11 闭包 229 8.4.12 .NET库函数 230 8.4.13 临时工作缓冲区 231 8.4.14 对象池 231 8.4.15 预制池 234 8.4.16 IL2CPP优化 249 8.4.17 WebGL 优化 249 8.5 Unity、Mono和IL2CPP的未来 249 8.6 本章小结 252 第9 章 提示与技巧 253 9.1 编辑器热键提示 254 9.1.1 GameObject 254 9.1.2 Scene 窗口 254 9.1.3 数组 255 9.1.4 界面 255 9.1.5 在编辑器内撰写文档 256 9.2 编辑器UI提示 256 9.2.1 脚本执行顺序 256 9.2.2 编辑器文件 256 9.2.3 Inspector 窗口 258 9.2.4 Project窗口 259 9.2.5 Hierarchy窗口 260 9.2.6 Scene 和 Game 窗口 260 9.2.7 Play模式 262 9.3 脚本提示 262 9.3.1 一般情况 262 9.3.2 特性 263 9.3.3 日志 264 9.3.4 有用的链接 264 9.4 自定义编辑器脚本和菜单提示 265 9.5 外部提示 266 9.6 本章小结 268

    与描述相符

    100

    北京 天津 河北 山西 内蒙古 辽宁 吉林 黑龙江 上海 江苏 浙江 安徽 福建 江西 山东 河南 湖北 湖南 广东 广西 海南 重庆 四川 贵州 云南 西藏 陕西 甘肃 青海 宁夏 新疆 台湾 香港 澳门 海外