渲染游戏框架的美感:工具的简要概述+有趣的视频

思维的好奇心和从内部了解一切工作原理的渴望将技术人员与大量用户区分开。在这个简短的帖子中,我想与好奇的社区分享一些小型视频和一个简短的食谱,其中介绍了将剖析软件用于3D应用程序的过程。



免责声明
3D , , . . 3D . . ( ) — . .
, . .
- , «» «»

观看视频,然后阅读,
所以,如果我们想评估游戏框架的准备工作是如何进行的。什么几何图形,纹理,多少次绘制调用,性能下降发生在哪里?您可以使用专用软件来调试这些过程。

我将列出主要的:

  1. Renderderoc
  2. 英伟达Nsight
  3. GPU性能工作室

RenderDoc是Crytek的图形调试器。



(在屏幕快照中,Lara Croft的半身像是:《古墓丽影》的崛起)

支持DirectX 11/12,Vulkan,OpenGL 3.2+。



这是一个开源项目。定期通过新提交进行备份。

链接到存储库和文档

该界面非常灵活且直观简单。在5分钟之内,询问灵魂的人就不难发现如何启动游戏或应用程序,并逐步完成整个渲染过程。无需启动第三方应用程序。

指定exe的路径,其他参数并运行。然后,在适当的时候在应用程序中按F12或PrintScrn,RenderDoc保存可以保存的框架,即使不开始游戏或与伙伴共享也可以返回该框架。

例如,您可以导出几何和纹理。



Nvidia Nsight是NVIDIA提供的调试工具。


一个强大而强大的调试器工具。这不是Nvidia武库中的唯一工具。有用于移动应用程序,Linux,Mac设备等的工具。在他们的全部多样性中,我听不懂。Nsight应该与Visual Studio一起使用,但是为了快速入门,可以尝试在未安装Microsoft IDE的情况下进行尝试。

我们在Nvidia开发人员计划中免费注册,并轻松下载必要的工具。Nvidia网站上有有关使用该工具的文档和说明性视频。

首先,只需将应用程序快捷方式拖动到Nvidia Nsight快捷方式即可。而且,如果一切正确,您将看到Nsight的HUD'y和图形。

框架变得简单:按CTRL + Z,然后按带放大镜图标的空格键或按钮。该过程停止,并且Nsight Replay窗口打开,在其底部有一个带有滑块的时间线。 Nsight具有提示,界面非常简单。也可以将框架的整个渲染保存到文件中,但是要打开它,您仍然必须安装Visual Studio。



为了更深入地了解该过程,必须从VS进行所有操作。从VS启动3D应用程序,或启动保存的框架(保存访问权限且未安装VS的功能)

创建一个空项目:



找到一个按钮,我们在其中输入应用程序的路径和一些必要的设置。



之后,我们开始调试。该应用程序将打开。如果使用了加载程序,则可能只需要在窗口中选择所需的进程即可。



该过程与我上面描述的相同。但是现在VS打开了附加的调试功能,而在没有VS的情况下调试则无法使用。几何和纹理,以及着色器。您可以从不同角度分析流程。



Nsight还具有一项有用的杀手级功能:您可以在专用计算机上与服务器一起运行应用程序,然后从VS连接到该应用程序。因此,每个人都无需与应用程序部署相同的环境,从而简化了开发人员或开发团队的工作。

要使用保存的框架,只需打开适用于您的Visual Studio版本的保存的项目,编译发行版本并启用Nsight调试即可。此外,如上所述。

对了 是否可以像在RenderDoc中一样查看Nsight的所有运行几何图形,所以不了解吗?当显示带有先前调用的网格的特定绘图调用时,这非常方便。

另外,由于缺少后者,我无法检查AMD视频卡上软件的运行情况。但是似乎Nvidia在这件事上没有严格的要求。

GPU PerfStudio-由Advanced Micro Devices(AMD)开发


一个出色而强大的工具。它还具有远程调试的能力。

下载和文档链接。



易于使用。有2个版本的服务器(64位和32位)启动,只需将必要的应用程序拖到服务器上即可。当您尝试运行它时,他本人会问什么。



接下来,只需打开客户端。我们连接到服务器,在适当的时间暂停,现在我们可以执行以前在RenderDoc或Nvidia Nsight中所做的所有事情。

对各种API和设备的广泛支持。尽管它起源,但它支持我的Nvidia显卡。因此,不会有任何阴谋和坚持

。UPD评论提出了另一个开源工具。
apitrace
多平台并支持各种API。我还没有感觉到它,但是据lieff所说,这是一个有用且简单的工具。



我不能说哪种工具是最好的。每个工具都有自己的微型功能,表格,图形,其中可以包含特定任务中非常必要的信息。在用户方面,一个好奇的人,我某种程度上更喜欢RenderDoc。但是有时并非所有过程都可以在其中启动。

顺便说一下,关于启动流程。当您拥有应用程序A和工具B时,一切都非常简单。然后,工具B启动应用程序A,每个人都很高兴。但是,如果此方案中包含中介程序:启动器,反作弊软件和其他包装器,那么您必须跳舞一下。

考虑从Steam或Origin和其他服务启动游戏的示例。

在这种情况下,您需要遵循任何工具包中的特定程序:

  1. 在Steam,Origin,Uplay等上禁用各种游戏内叠加功能。
  2. 在启动这些应用程序之前,必须先关闭它们。
  3. 您不需要运行游戏文件,而只需运行包装器(Steam,Origin,Uplay等)。
  4. 之后,您可以直接从运行中的“包装器”开始游戏
  5. 通常,需要其他启动选项。例如,对于“看门狗2”,-eac_launcher参数用于禁用反作弊。在这里,您需要阅读自述文件,有关线索的配置。另外,其他选项有助于加快应用程序的启动过程。Steam范例:-applaunch 99999(应用程式编号)
  6. 始终在应用程序中检查API的版本。也许DX12已在设置中启用,但是您不支持DX12等。进行预设,关闭游戏,然后才开始调试。
  7. 某些应用程序在多图形系统上不稳定(例如:嵌入式视频+离散卡)。在设备管理器中禁用不必要的功能。另外,在这种情况下,最好是开始拍摄画面快照,而不要播放正在运行的游戏。因为 如果发生倒塌,折磨会重新开始。



承诺的小吃视频。我录制了渲染游戏框架过程中的延时视频。我觉得它非常有趣,内容丰富且美丽。并非所有事件都显示在视频上,因为 在那种情况下,那太抽搐了。
出版

战地1


侠盗猎车手5


古墓丽影的崛起


巫师3


看门狗2


辐射4


关于抽奖电话


仅此而已。我希望这些材料能给您留下深刻的印象,告诉您,帮助或以其他积极的方式影响读者。发送编辑,提示,感谢和建议给项目经理或评论。

最后,我想稍微宣传一下我的Youtube频道:www.youtube.com/KakoytoAitishnik
当然,这对童年时代是一个坏主意,但所有这些社交小玩意:订阅,喜欢和评论,增加了发布新的更好内容的动力。

Source: https://habr.com/ru/post/zh-CN400963/


All Articles