d3d12: which debug tools to use?

Started by
17 comments, last by Dingleberry 8 years, 1 month ago
Hi,


I'm having some trouble with the debugging tools for d3d12 available at the moment.
I mostly use visual studio graphic diagnostic which is really great. However the capture process is very slow, it takes almost a minutes to render a frame on the app I'm working on, which makes hard to get to the instant I like to debug. Plus I need to use warp otherwise the debug is even slower.

I tried Nvidia nsight 5 rc1, it's a lot faster however when I capture a frame, the app crashes and there is no way to analyse it then. Basically nsight doesn't work for me, I can't tell if it's good or not for the purpose.
I tried with gpu perfect studio 2,it's fast and it works, but the capabilities are quite scarce. There is no way to view the resource contents, or render target evolution as with visual studio. It just records the various api call now. I guess gps2 need more time to be useful for dx12 debug, it's really very powerful for gl and dx.

Is there another tool for dx12 debugging or a way to make visual studio graphic diagnostic fast enough not to be frustrating to use, or to make nsight stable?
Regards, Vincent.
Advertisement

There is also Intel GPA available.

If you are a DX12 EAP member have a look in the private portal.

"Recursion is the first step towards madness." - "Skegg?ld, Skálm?ld, Skildir ro Klofnir!"
Direct3D 12 quick reference: https://github.com/alessiot89/D3D12QuickRef/

RenderDoc (https://github.com/baldurk/renderdoc) is another great option - it was developed by CryTek, then released for free. Now it's maintained as an open-source project, but includes most of the functionality you mentioned wanting.

RenderDoc (https://github.com/baldurk/renderdoc) is another great option - it was developed by CryTek, then released for free. Now it's maintained as an open-source project, but includes most of the functionality you mentioned wanting.

It doesn't support d3d12.

Nvidia Nsight seems to crash if I draw something to the backbuffer ; if I omit the last (a basic framebuffer scaling in my app) I can explore all others commands without any issue. It's quite strange and I don't think I'm doing something wrong in the final pass (I get no complain from debug layer).

Have you checked out the DXCAP tool? That seems to be an extremely efficient way to capture log files, which you can then later debug. A general information can be found here:

http://blogs.msdn.com/b/vcblog/archive/2015/03/31/visual-studio-2015-and-graphics-tools-for-windows-10.aspx

Have you tried the "final" version of Nvidia nSight 5, not RC1?

Adam Miles - Principal Software Development Engineer - Microsoft Xbox Advanced Technology Group

I have tried final version of nvidia nsight yes. It crashes as did RC1.

Is DXCap the same tool as the one used in Debug>Graphics>Start debugging in VS 2015 ? Then yes and I like it but it's way too slow (one minute to draw a frame here, plus it can takes up to several dozen of minutes to capture one frame in my app.

I believe it is the same back end capture tooling, but you have options to run the capture outside of VS. That may make the capture process faster, and then you can do the analysis afterwards. I don't know if that fits your needs, but it should be a possibility to make the capture process more responsive.

Using DXCap.exe I have 0.16 fps again...

This topic is closed to new replies.

Advertisement