用于制作更可靠的 Windows 游戏的最常用工具和技术

游戏制作中最不受欢迎的成本之一便是支持呼叫。 每当用户联系客户支持人员时,游戏的利润就会减少。 虽然一些客户支持呼叫是不可避免的,但其他呼叫可以通过采用良好的开发做法来消除或减少。 本文介绍可用于帮助减少收到的支持呼叫数的工具和技术。

此处介绍的所有工具都是免费的,这些技术足够简单,可以添加到大多数开发方法中。

工具和技术:

PREfast

PREfast for Drivers 是 Microsoft 提供的一个工具,用于分析编译的 C 或 C++ 中的执行路径,以帮助查找运行时错误。 PREfast 通过排查所有函数中的所有执行路径并评估每条路径的问题来运行。 虽然此工具通常用于开发驱动程序和其他内核代码,但它可以通过消除一些难以找到或被编译器忽略的错误来帮助游戏开发人员节省时间。 使用 PREfast 是降低发布后工作负载和支持成本的好方法。

PREfast 随 Visual Studio Team System 一起提供,并作为 Windows 驱动程序工具包的一部分。 有关详细信息,请参阅 PREfast 生成

AppVerifier

Microsoft 应用程序验证工具(即 AppVerifier)是一种工具,可通过在一个工具中提供多种功能来帮助测试人员。 开发 AppVerifier 是为了更容易地测试常见的编程错误。 AppVerifier 可以检查在 API 调用中传递的参数、注入错误输入以检查错误处理能力,并记录对注册表和文件系统的更改。 AppVerifier 还可以检测堆中的缓冲区溢出,检查访问控制列表 (ACL) 是否已正确定义,并强制安全使用套接字 API。

虽然并非详尽无遗,但 AppVerifier 可以成为测试人员工具箱中的一个组件,帮助开发工作室发布高质量的产品并降低潜在的发布后成本。

有关应用程序验证程序的详细信息,请参阅应用程序验证程序在整个软件开发生命周期中使用应用程序验证程序

还有一个类似的驱动程序工具,驱动程序验证程序。 有关详细信息,请参阅 Microsoft 帮助和支持上的使用驱动程序验证程序为高级用户识别 Windows 驱动程序问题

Microsoft 应用程序兼容性工具包

Microsoft 应用程序兼容性工具包是一组免费工具,可帮助开发人员快速检查其版本在新发布的 Microsoft Windows 服务包上的性能。 通过为新的服务包做好准备,开发人员可以预防或为任何问题做好准备。

有关应用程序兼容性工具包和更多信息,请访问应用程序兼容性工具包 (ACT)

用户帐户保护测试

Windows Vista 和 Windows 7 有两种主要类型的用户帐户:标准用户和管理员。 标准用户帐户是所有用户的首选类型,因为它们降低了恶意应用程序对系统造成损害的风险。 由于标准用户具有访问限制(例如,无法写入 Program Files 文件夹或注册表中的 HKEY_LOCAL_MACHINE (HKLM),因此设计和测试游戏以使用标准用户帐户非常重要。

有关本主题的详细信息,请参阅文章在 Windows XP、Windows Vista 和 Windows 7 中修补游戏软件用于游戏开发人员的用户帐户控制

PIX for Windows

PIX 是一种用于从运行中的应用程序收集和分析性能信息的工具。 PIX 可以收集统计数据,说明为什么某些帧的呈现速度比其他帧慢,并可以识别糟糕的 API 使用情况。 PIX 还可以自动化,以测试日常生成并标记应用程序性能的突然变化。 通过跨各种硬件配置使用 PIX,测试人员和开发人员可以帮助最大程度地减少与游戏性能相关的支持呼叫。

配置检测

驱动程序公开的设备功能并不总是正确的。 一种解决方案是使用数据库驱动系统配置应用程序,如 DirectX SDK 中包含的示例 ConfigSystem 中演示的系统。 与示例中的系统类似的检测模型可以帮助识别阻碍游戏性能的设备功能,从而减少有关性能的支持呼叫数量。

启用完整编译器警告

一旦项目变得稳定,恢复被 #pragma warning 禁用的任何编译器警告是一种很好的做法。 开发人员在发布产品之前应该尽量消除所有警告。 即使警告不会在开发人员的系统上导致崩溃或错误,它也可能在用户的系统上造成问题。 如果警告无法消除,测试团队需要确定警告是否会在用户系统上导致很少的错误或没有错误。

Microsoft 符号服务器

Microsoft 提供了一个可通过 Internet 访问的服务器,该服务器为 Microsoft Windows 操作系统以及其他 Microsoft 产品提供符号文件。 服务器上还提供了 Windows 产品当前 Beta 版本和候选版本的符号,以及热修补程序和服务包。 可以将调试器配置为在调试会话期间根据需要下载符号,而不是在调试会话之前单独下载符号文件。 符号将下载到指定的目录位置,调试器从那里加载它们。

有关 Microsoft 符号服务器的详细信息,请参阅用于 Windows 调试的符号

Windows 错误报告

Windows 错误报告 (WER) 是 Microsoft 提供的一项服务,旨在帮助开发人员以统一有序的方式从应用程序中收集错误信息。 虽然这是完全自愿的,但开发人员应该利用这项服务来帮助确定哪些错误最常见。 使用 WER 有助于调试经常报告的问题,这将有助于消除对最常见错误的支持呼叫。

有关 WER 的详细信息,请参阅崩溃转储分析

性能优化工具

开发人员可以使用性能分析器来优化游戏的性能。 除了 PIX,还有许多适用于 Windows 的常用性能分析器,例如 Intel VTune 性能分析器和 AMD CodeAnalyst 性能分析器。 这些工具有助于识别瓶颈,并决定如何提高应用程序的整体性能。 在发布之前改善性能瓶颈将有助于降低发布后的成本。

总结

参与设计、开发和测试的每个人都需要考虑其工作将如何影响产品的发布后成本。 通过在生产过程中使用上述工具和方法,可以减少支持呼叫的数量。 反过来,这将通过降低游戏开发的发布后成本来提高利润。