【问题标题】:Renderdoc statistics overlay appearing when running executable without renderdoc在没有 renderdoc 的情况下运行可执行文件时出现 Renderdoc 统计信息覆盖
【发布时间】:2021-09-26 20:03:19
【问题描述】:

当使用 Renderdoc 调试我的 Vulkan 应用程序时,我注意到当我正常执行应用程序时,Renderdoc 也在运行并在窗口上生成统计信息覆盖。

例如,当从命令行执行./executable 时,我得到:

(左上角的信息是Renderdoc的统计信息)

请注意,这在删除和重新编译可执行文件时仍然适用。

我尝试卸载 Renderdoc,但收到 Vulkan 无法加载 librenderdoc.so 的错误,我什至尝试重新安装 Vulkan 库但没有成功。

任何关于如何在不显示程序统计信息的情况下正常执行程序的帮助将不胜感激。

终端输出(来自验证层)显示:

【问题讨论】:

    标签: vulkan renderdoc


    【解决方案1】:

    Renderdoc 使用 Vulkan 的层机制将自身注入到可执行文件中。

    他们有一个lengthy blog post explaining the gory details,但基本上发生的情况是,在运行时,所有 Vulkan API 调用都首先通过 Renderdoc,这就是导致统计信息出现的原因。如果你不想这样,你只需要在初始化 Vulkan 时不包含 Renderdoc 层。

    您要么请求 Vulkan 通过传递给 vkCreateInstanceVkInstanceCreateInfo 结构中的 ppEnabledLayerNames 字段拉入 Renderdoc 层。在这种情况下,您需要更改代码以不再执行此操作并重新编译可执行文件。或者,您可能将 Renderdoc 作为隐式层加载。在这种情况下,可执行文件根本不需要更改(并且在没有安装 Renderdoc 的不同机器上运行可执行文件只会工作而不会显示覆盖)。相反,Vulkan 加载器会自动拉入 Renderdoc 层。

    因此,在后一种情况下,您需要更改系统的加载程序配置。由于这对每个系统都有不同的工作方式,并且您没有提及您使用的是哪个操作系统,所以我将给您留下一个 link to the official documentation,其中包含所有主要操作系统的详细信息。只需从隐式层列表中删除 Renderdoc,覆盖就会消失。

    【讨论】:

    • 是的,事实证明我包含了所有可用的验证层,因此包含了 Renderdoc 层。
    猜你喜欢
    • 2010-10-19
    • 1970-01-01
    • 2014-09-29
    • 1970-01-01
    • 2016-08-02
    • 2020-03-28
    • 2021-09-09
    • 2018-07-16
    • 1970-01-01
    相关资源
    最近更新 更多