NVIDIA NSight vs Visual Studio 2013 Graphics Debugger?

Started by
6 comments, last by Matias Goldberg 9 years, 1 month ago

I am wondering if there are any good resources which provide a comparison between Visual Studio 2013's Graphics Debugger and NVIDIA NSight with regards to their ability to debug compute shaders?

As my compute ray-tracer is getting more complex, I am noticing that it is taking Visual Studio incredibly long to "generate shader traces". I'm wondering if this is just the cost of trying to simulate a Compute Shader on the CPU for debugging purposes or represents an actual bug with Visual Studio's Graphics debugger. I'm hoping that NSight might be able to offer an improvement in speed.

J.W.
Advertisement

Why don't you just give it a try? Even if we tell you it is faster / better, wouldn't you want to try it out for yourself???

Try RenderDoc (http://cryengine.com/renderdoc). Of all the three, it is the one I keep going back to. Free, fast, awesome.

Try RenderDoc (http://cryengine.com/renderdoc). Of all the three, it is the one I keep going back to. Free, fast, awesome.

How well does Compute Shader Debugging work in RenderDoc? I have yet to try them, but on the documentation they give a disclaimer that its heavily experimental.

alert_caution.gif Caution

This feature is highly experimental and is provided with no guarantees yet! It may work on simple shaders which is why it is available.

I use both VS debugger and Nsight. Major advantage of the latter is that it actually works when tessellation stages are active, and allows debugging of hull/domain shaders. However I have to warn you to be extremely careful when debugging shaders in NSight as it is known to cause lock ups, with "reset" button being the only exit. So to prevent data corruption make sure you backup any important files often.

The reason I ask is because I have gotten to the point where Visual Studio won't load my compute shader when trying to debug it. It doesn't show any error. It just hangs on "generating shader traces". So I'm wondering if there's a debugger that would be better for complex compute shaders?

J.W.

I write the documentation for Graphics Diagnostics, and it isn't really tuned for compute shaders -- it can do it under some circumstances in the current version, but IIRC, only if your compute shader is playing a role in your rendering (e.g. computing local lighting influences as in Dice engine).

If you can deal with being tied to one of the vendors, both provide good, free graphics debuggers. The bigger selling point of Graphics Diagnostics is that its vendor-neutral. Its good and getting better but its not an optimal experience form compute shaders right now.

throw table_exception("(? ???)? ? ???");

How well does Compute Shader Debugging work in RenderDoc? I have yet to try them, but on the documentation they give a disclaimer that its heavily experimental.

alert_caution.gif Caution
This feature is highly experimental and is provided with no guarantees yet! It may work on simple shaders which is why it is available.

Ironically RenderDoc has such warning but is the one that works the best; while the others don't but should have that warning...

This topic is closed to new replies.

Advertisement