Nsight Graphics 和 RenderDoc 无法跟踪应用程序

发布于 2025-01-19 12:04:38 字数 1384 浏览 2 评论 0原文

我被困在写一个Vulkan渲染器。我在屏幕上看到的最终输出只是透明的颜色,随着时间的推移而动画,但没有几何形状。即使所有可能的验证都打开了,我也不会出现任何错误 /警告 /最佳执行 /性能提示等,除了最好的practices警告:“您正在使用vk_pipeline_stage_all_commands_bit当Vkqueuesubmit称为vk_pipeline_stage_all_commands_bit”。实际上,不确定我使用所有可能的验证,但是我在“ vk_layer_khronos_validation”下运行了所有复选框,然后勾选了所有复选框,此后,vkqueuesubmit提示

在戳了几个小时后出现了几个小时,我决定使用renderdoc,我可以启动应用程序,我可以启动该应用程序。很好,但是renderdoc说“连接状态:建立,API:无”,我无法捕获框架。

我以为我会考虑使用Nsight图形只是为了找到相同的问题:我可以运行该应用程序,但它说“可连接的过程被检测到。状态:没有图形API”。我在某个地方阅读我可以先启动该过程,然后使用附件功能将附加到运行过程中,不幸的是,我阅读的结果与

我阅读的结果相同时可能会出现问题,这可能是我的,这是我的原因要随着时间的推移改变透明的色彩,以确保我实际上呈现每个框架,我可以确定

我在这一点上已经失去了这种情况,有人是否有类似的经历?关于我可以做些什么来使RenderDoc / Nsight图形正常工作?他们俩都没有在日志中显示任何内容,因为我猜他们只是假设该过程不使用任何图形API,因此不会追踪。

我还感谢您为什么看不到几何形状的想法,但我知道这甚至很难从您的身边猜测,还有一些笔记:我什至已经强迫深度和模具测试了,尽管顶点应该是counter_clockwise,但我也检查了一下顺时针为了确保,设置脸部剔除模式,检查颜色写面具和rasterizerDiscard,甚至设置gl_position忽略顶点位置并完全转换矩阵,并在范围-1到1中使用一些随机值,基本上是所有内容当我听到“只有透明颜色,但没有错误”时,我就想到,但是

如果一切都会有所帮助,一切都没有用:我使用RTX3070或Intel UHD 770都在Win11上,两者都有相同的结果

小型更新: 使用Vulkan配置器,我可以在上面强制VK_LAYER_RENDERDOC_CAPTURE层,然后在运行应用程序时,我可以看到覆盖层,然后按F12后,请阅读该框架捕获了帧。但是,renderdoc仍然找不到此过程的图形API,我不知道如何访问该捕获

,然后强制vk_layer_lunarg_api_dump上的vk_layer_lunarg_api_dump并将其倒入我检查过的HTML中,我仍然看不到任何错误。我特别仔细观察了管道和RenderPass创建电话。 这让我认为这将是任何统一 /顶点缓冲区内容 /偏移量或其他任何东西,因此我删除了其中的任何一个,使用硬编码的顶点位置和片段输出,而且我仍然只能在屏幕上的最终图像中看到清晰的颜色。

谢谢

I am stuck writing a Vulkan renderer. The final output I see on the screen is only the clear color, animated over time, but no geometries. Even with all possible validation turned on I dont get any errors / warnings / bestPractices / performance hints etc except for the bestPractices warning "You are using VK_PIPELINE_STAGE_ALL_COMMANDS_BIT when vkQueueSubmit is called". Not actually sure I use all possible validation, but I have Vulkan Configuration running and ticked all checkboxes under "VK_LAYER_KHRONOS_validation", after which the vkQueueSubmit hint showed up

After poking around for some hours I decided to look into using RenderDoc and I can startup the application just fine, however RenderDoc says "Connection status: Established, Api: none" and I cannot capture a frame.

Quite confused I thought I would look into using NSight Graphics just to find the same problem: I can run the application but it says "Attachable process detected. Status: No Graphics API". I read somewhere I can start the process first, then use the attach functionality to attach to the running process, which I did, unfortunately with the same outcome

I read there can be problems when not properly presenting every frame, which was the reason for me to change the clear color over time to make sure I actually present every frame, which I can confirm is the case

I am quite lost at this point, did anyone make similar experiences? Any ideas as to what I could do to get RenderDoc / NSight Graphics working properly? They both dont show anything in the logs as I guess they just assume the process does not use any graphics api and thus wont be traced.

I am also thankful for ideas about why I cannot see my geometries but I understand this is even harder to guess from your side, still some notes: I have even forced depth and stencil tests off, although the vertices should be COUNTER_CLOCKWISE I have also checked CLOCKWISE just to make sure, set the face cull mode off, checked the color write mask and rasterizerDiscard, even set the gl_Position to ignore the vertex positions and transform matrices completely and use some random values in range -1 to 1 instead, basically everything that came to my mind when I hear "only clear color, but no errors" but everything to no avail

In case it helps with anything: I am on Win11 using either RTX3070 or Intel UHD 770 both with the same outcome

Small Update:
Using the Vulkan Configurator I could force the VK_LAYER_RENDERDOC_capture layer on, after which when running the application I can see the overlay and after pressing F12 read that it captured a frame. However RenderDoc still cannot find a graphics api for this process and I have no idea how to access that capture

I then forced VK_LAYER_LUNARG_api_dump on and dumped it into an html which I inspected and I still cannot see anything wrong. I looked especially closely at the Pipeline and Renderpass creation calls.
This left me thinking it would be any uniform / vertex buffer content / offsets or whatever so I removed any of that, use hardcoded vertex positions and fragment outputs and still I can only see the clear color in the final image on the screen.

Thanks

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

送君千里 2025-01-26 12:04:38

也许我应该开始使用当前的相机宽度和高度将我暴露于绝对值的相对视口,即给出(0,0,1920,1080),而不是(0,0,1,1,1)。

Holymoly什么骑行

Maybe confused me should start converting the relative viewport that I expose to absolute values using my current cameras width and height, ie giving (0,0,1920,1080) to Vulkan instead of (0,0,1,1).

Holymoly what a ride

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文