您当前的位置:中国时代科技网资讯正文

研制实战怎么经过RenderDoc优化Quest使用

2019-12-12 04:57:53  阅读:403+ 作者:责任编辑NO。石雅莉0321

检查引证/信息源请点击:映维网

用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后的根本窗口项目。在棋盘格主窗口的上方,你会看到一系列的标签。以下是每个项目的扼要概述:

Timeline(时刻线):能够直观地显现不同阶段(不通明,通明,天空盒,early-z,暗影通道等)所花费的时刻。它一起会显现烘托方针的读/写,所以你能够快速检查生成帧的办法是否会发生本钱贵重的解析本钱。

Event Browser(实践浏览器):列出帧的一切API调用,而且用调试符号标签分隔逻辑制作组。在这里挑选制作会依据情形填充/更新一切其他选项卡(纹路检查器和网格检查器等).RenderDoc tabbed functionality

Texture Viewer(纹路检查器):显现所选制作的输入纹路和输出纹路(RT)。单击单个纹路能够检查其格局/分辨率/可用的MIPS/MSAA等级等。

Pipeline State(管道状况):挑选任何管道状况以检查绑定资源的一切特点和原料特点(通明度/混合状况和纹路/采样器等)。

Mesh Viewer(网格检查器):在本地空间检查输入网格,然后确认正在进行制作的是哪个制作。你一起能够正常的看到极点数目(关于验证LOD体系十分有用),屏幕空间中的后投影视图和极点特点等。

Launch Application(发动运用):挑选要运转并附加到RenderDoc host的运用程序。假如你挑选的情形是“Local”,则能够在计算机履行运用程序。假如挑选的情形是“Remote:Oculus Quest”,你将取得设备可用包的列表。

Resource Inspector(资源检查器):显现烘托方针,暂时缓冲区,纹路,着色器和网格等一切GPU相关资源的列表。

Statistics(统计数据):显现你的制作次数和GPU内存运用状况等。

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文件所需的内存。下面是削减游戏内存占用量以进行捕获的技巧:

将版别设置成最低的纹路分辨率:Unity供给一个大局选项,可使八分之一纹路巨细并启用纹路流式传输

在优化阶段,移除场景的额定加载以替代彻底卸载和彻底加载。

尽或许移除一切音频。

5. 查询你的捕获

获取概述:我一般会首要翻开“Statistics”选项卡以检查我宣布了多少制作调用。这一起会告诉我正在运用的GPU内存量,而且供给一个直观的细分。

可视化制作/时刻:接下来,翻开“Texture Viewer”选项卡,翻开“Overlay”菜单中的“Highlight Draw Call”选项,单击“Gather Timings (clock)”按钮,最终在“Output”纹路部分中挑选“Render Target”。这样做会为我供给每个制作调用的相对守时,并协助我找出花费时刻最长的制作调用。我能够在“Event Browser”中单击任何调用,并在“Render Target”检查器中杰出显现。

优化:这时,我将寻觅具有最高守时的制作,并测验确认原因。着色器过于杂乱吗?输入资源特点设置不正确吗?我的烘托次序反常吗?

6. 总结

咱们已介绍了将RenderDoc附加到Oculus Quest游戏或运用程序的根本知识,后边咱们就以持续深化探究。咱们很快将发布后续的博文,然后协助你进一步了解硬件和软件仓库,并为运用程序供给最佳的烘托办法和设置。假如你想发掘更多的RenderDoc资源,请必须检查官方的RenderDoc网站和文档。你或许一起会发现其他便利的入门资源,包含简介,快速入门指南和Android运用指南。

“如果发现本网站发布的资讯影响到您的版权,可以联系本站!同时欢迎来本站投稿!