Nsight 4.0 RC1 error


I installed 64-bit version of 4.0 RC1 for Visual Studio. I’m using Visual Studio 2012 on 64-bit Windows 7. GeForce GTX 780 with driver 335.23 installed.

When I try debugging my graphics application (“Start Graphics Debugging”) I keep getting a missing DLL error (D3DCOMPILER_46.dll). The dll is installed on my machine so I’m not sure what the problem is.

Thanks for any help.


Does the application run on its own (outside of Nsight)?

This file should have been installed in the Nsight installation under
(if 32-bit app)
C:\Program Files (x86)\NVIDIA Corporation\Nsight Visual Studio Edition 4.0\Monitor\Common\Injection32
(if 64-bit app)
C:\Program Files (x86)\NVIDIA Corporation\Nsight Visual Studio Edition 4.0\Monitor\Common\Injection64

do you see it there?

Thanks for the reply.

Yes, the application works outside of Nsight.

And I see the dlls in the directories you indicated above.

I noticed that if I copy d3dcompiler_46.dll from the above directory and paste in the exe’s directory then the application will start in Nsight. I see the Nsight HUD and the graphs are updating as expected. However the display driver crashes on me after the app runs for a minute or two. I see the following message.

“Display driver NVIDIA Windows Kernel Mode Driver, Version 335.23 stopped responding and has successfully recovered.”

The Nsight HUD graphs don’t update after that. I don’t get any interactive data. However, I can still capture a frame a debug. So that’s good.


Looks like you are hitting the 2 second default TDR setting, you can change this: http://docs.nvidia.com/nsight-visual-studio-edition/4.0/Nsight_Visual_Studio_Edition_User_Guide.htm#Timeout_Detection_Recovery.htm

I am not clear why you are having to move that DLL, you shouldn’t have to.

Is there a way that I can get your binary/project settings to try this out on my end to debug/fix? Please PM me if possible.



I had already changed the TDR Delay to 20 seconds. Guess I should have mentioned that in my previous post. From the link you referenced above, my system falls under the “Local Debugging with a Single GPU” settings.

The code I’m testing with is actually a modified DirectX SDK application. We are having some issues with getting vsync working correctly under DirectX 11 and are using this code to try and isolate the issues. Easier than dealing with our much larger code base. So in short, I can give you the code to test with. What’s the best way to get it to you?