2
0

build-variants.md 2.0 KB

Build variants

打包游戏时, 需要选择你想用的引擎类型. 有三个基本类型可以选择:

  • Debug
  • Release
  • Headless

这些类型即是 Build variants

::: sidenote 使用 Project ▸ Build 时使用的是 debug 版引擎. :::

Debug

此版本通常在游戏开发阶段使用, 因为它具有许多有用的调试功能:

  • 分析器 - 用于收集性能和使用计数器. 如何使用分析器参见 分析器教程.
  • 日志 - 日志开启后引擎会记录系统信息, 警告和错误. 引擎也会通过 Lua print() 功能, 原生扩展使用 dmLogInfo(), dmLogError() 之类的功能记录日志. 如何阅读日志参见 游戏和系统日志教程.
  • 热重载 - 热重载是一个强大的功能, 能让开发者在游戏运行时重新载入资源. 如何使用热重载参见 热重载教程.
  • 引擎服务 - 游戏的调试版本可以连结一些开启的 TCP 端口和服务并与之交互. 这些服务包括热重载功能, 远程日志存取和上述的分析器功能, 以及其他一些各种各样的服务. 关于引擎服务参见 开发者教程.

Release

此版本移除调试功能. 准备发布到应用商店时使用此版本. 基于以下原因不推荐发布包含调试功能的游戏:

  • 调试功能会使包体略微变大, 我们应该尽量使发布游戏包体最小.
  • 调试功能也会占用一点 CPU 时长. 这可能使用户的老机型卡顿. 在手机上增加 CPU 使用也会造成过热和电池消耗.
  • 调试功能可能会给用户暴露不应暴露的信息, 无论从安全, 作弊还是欺诈角度.

Headless

此版本没有图像和声音. 也就是说它可以 CI 服务器上进行 unit/smoke 测试, 甚至可以在云端作为服务器程序使用.