/ Nweon / 0浏览

研发实战一:如何通过RenderDoc优化Quest应用



映维网
2019年12月11日


Oculus
开发者关系团队的其中一个主要任务是帮助开发者优化游戏,令其能够有效地支持所有的Oculus硬件。所述团队中的开发者关系工程师克里斯蒂亚诺·费雷拉(Cristiano Ferreira)曾为数款Quest首发内容提供了帮助。日前,他

撰文

介绍了如何通过RenderDoc来优化你的Quest应用,包括如何轻松将其集成至你的工作流程,相关的基础知识,以及允许你在未来利用这项有用工具的技巧经验。下面是映维网的具体整理:

RenderDoc是一项用于窥视应用渲染机制幕后情况,从而确定事情是否按预期进行的优秀工具。对于商用游戏引擎,实际的渲染代码要么是隐藏,要么难以通过于各种内置子系统来解密。如果能够看到引擎是如何确定场景在单帧中的渲染方式,何乐而不为呢?欢迎使用RenderDoc。

当你通过RenderDoc捕获一帧时,它会按照帧的发出顺序记录所有图形API命令和资源,然后再播放它们,这样你就可以判断事情是否按照预期进行。RenderDoc同时可以帮助你大致了解GPU执行绘制需要多少时间和绘制逻辑组(由调试标记表示)。由于基于图块的渲染的性质,数字本身并非100%精确,但彼此之间足够准确。换句话说,你看到的不是“这个绘制调用花费了1.34毫秒”,而是能够查看所有绘制,并发现覆盖类似像素量的1.34毫秒绘制要久于0.2毫秒绘制,然后再确定用于生成所述绘制的asset和管道状态是否足够优化。

关于RenderDoc的另一个关键要点是,它完全免费,并且开源。你应始终使用最新的公共稳定版,从而确保工具纳入了所有的新功能,错误修复和性能优化。具体请访问官方的

RenderDoc下载页面

,并选择适用于你所选择平台的副本。

注:本文将随时间推移而动态地增删补充。


1. 开始使用RenderDoc

我们先来快速过一遍首次打开RenderDoc后的基本窗口项目。在棋盘格主窗口的上方,你会看到一系列的标签。以下是每个项目的简要概述:


2. 将RenderDoc附接到Oculus Quest

在命令提示符中运行adb devices命令时,请确保其枚举。第一次通过USB数据线连接Oculus Quest时,头显内会提示你允许从主机访问。为了确保稳定性,我建议使用USB 2.0 A到USB-C或专用的Oculus Link数据线。如果你看到设备,则设备应该在RenderDoc窗口左下角的情景菜单中可用。从列表中选择Oculus Quest,等待几秒钟,系统将会RenderDoc捕获层APK传输到设备,并让客户端连接到远程情景的服务器。


3. 启动并将RenderDoc附接到你的游戏/应用

要启动应用程序,请转到正确的选项卡“Launch Application”,然后单击“Executable Path”旁边的小图标。这将打开一个文件浏览器,而你在其中可以看到可执行文件,或者如果是Oculus Quest,它将显示设备所有可用的APK。如果你在本地(PC),你同时可以设置工作目录(如果它与默认目录不同)。

单击右侧的“Launch”按钮以启动附接RenderDoc的应用程序。(注意:需要是项目的Development Build才能进行附加)。


4. 捕获一帧

要进行帧捕获,只需点击“Capture Frame(s) Immediately”按钮。然后,RenderDoc将拦截针对图形情景的所有调用和asset等,并将它们保存在.rdc文件中。提示,如果出现问题,请遮住面罩附近的接近传感器。有时,我会贴上一条胶带,这样我在进行分析和优化时可以继续使用设备。如果在接近传感器检测到头显处于关闭状态时进行帧捕获,这将会导致生成空帧。你生成的文件将显示在“Captures collecte”部分。如果退出RenderDoc,我总是习惯将捕获的内容保存到桌面,这样可以方便以后重新加载。如果是使用Oculus Quest时捕获,则.rdc文件需要传输到主机PC,这可能需要更长的时间。

注意:如果你正在为Oculus Quest开发内容,并且在捕获时应用程序崩溃,这通常意味着系统内存已用完(可以查看RenderDoc日志,从而确保问题所在)。当在设备上进行RenderDoc捕获,必须保证足够的可用内存来支持应用的内存需求,renderdoc捕获层的内存需求,以及保存生成的.rdc文件所需的内存。下面是减少游戏内存占用量以进行捕获的技巧:


5. 调查你的捕获


6. 总结

我们已经介绍了将RenderDoc附加到Oculus Quest游戏或应用程序的基本知识,后面我们就以继续深入探索。我们很快将发布后续的博文,从而帮助你进一步了解硬件和软件堆栈,并为应用程序提供最佳的渲染方法和设置。如果你想挖掘更多的RenderDoc资源,请务必查看官方的RenderDoc网站和文档。你可能同时会发现其他方便的入门资源,包括简介,快速入门指南和Android使用指南。

0

  1. This post has no comment yet

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注