it’s possible to debug shader code on latest visual studio however i’m not sure in process. as for bottlenecks and found bugs:
query is nice but it uses readback feature so it gonna cost u about 2-3 fps
preview and renderers are known buggers consuming pref without reason closing them helps (shud be fixed on latest build)
dynamic buffers are good but don’t push every frame a lot of data
general debug use GPU-Z & CPU-Z watch memory look for memory leaks
this way u can keep it solid specially with a lot of sub-patches
debug layer also nice. Looking if anyone can tell me what is ML
also a general tip, if u use deevaluate u HAVE to connect group with enable pin otherwise it going crazy, since u register data for render and it cannot find that data, so be aware of that issue found recently
"Renderdoc™ is a standalone program that can be used to capture and replay frames from any Windows application using Direct3D 11.0 or 11.1, and provides tools for deep analysis and graphics inspection, as well as detailed examination of API usage - allowing developers to locate bugs and problems in their programs. "
Thanks for the tips Antokhio, I didn’t know about the evaluate bug.
I had a quick try getting GPU perf studio to work. No joy but will have another go now. It looks exactly what I’m after.
Renderdoc also looks great. Will have a bash with that too
Someone must have tried these before?..
edit : quick update, Renderdoc appears to work. I’m able to catpure a frame then view api calls, shader resources, and inspect various stages of the pipeline. Haven’t seen anything to represent time taken to perform actions yet, but I’ve only just dug in
edit2 : this app is seriously cool. You can view info about every draw call, the time it took, view the results of each draw to a render target, inspect geometry at each shader stage, export everything, etc etc
I’m going to try to get GPU perf studio working still though. As far as I can see from screenshots you can debug shaders using the original HLSL source code, rather than the confusing (de)compiled version you have using Renderdoc.