当使用Renderdoc调试我的Vulkan应用程序时,我注意到当我正常执行应用程序时,Renderdoc也在以某种方式运行并在窗口上生成统计数据覆盖。
例如,当从命令行执行./executable
时,我得到:
(左上角的信息是Renderdoc统计数据)
请注意,当删除并重新编译可执行文件时,这仍然适用。
我试过卸载Renderdoc,但我得到的错误是Vulkan无法加载librenderdoc.so
,我甚至尝试过重新安装Vulkan库,但没有成功。
任何关于如何在不显示程序统计信息的情况下正常执行我的程序的帮助都将不胜感激。
显示终端输出(来自验证层):
发布于 2021-09-26 12:03:19
Renderdoc使用Vulkan的层机制将自身注入到可执行文件中。
他们有一个lengthy blog post explaining the gory details,但基本上发生的是,在运行时,所有的Vulkan API调用都会首先通过Renderdoc,这就是统计数据出现的原因。如果你不想这样,你只需要在初始化Vulkan时不包含Renderdoc层。
您要么请求Vulkan通过传递给vkCreateInstance
的VkInstanceCreateInfo
结构中的ppEnabledLayerNames
字段引入Renderdoc层。在这种情况下,您需要更改代码以不再执行此操作,并重新编译可执行文件。或者,您可以将Renderdoc加载为隐式层。在这种情况下,根本不需要更改可执行文件(并且在没有安装Renderdoc的其他计算机上运行可执行文件将不会显示覆盖)。相反,它是Vulkan加载器自动拉入Renderdoc层。
因此,在后一种情况下,您需要更改系统加载器配置。由于这对于每个系统都是不同的,并且您没有提到您使用的是哪种操作系统,因此我将只给您一个包含所有主要操作系统的详细信息的link to the official documentation。只需从隐式图层列表中删除Renderdoc,覆盖就会消失。
https://stackoverflow.com/questions/69330187
复制相似问题