Release Notes
Important information about the NVIDIA® Nsight Graphics™ 2018.4 release
Display Driver
You must install the NVIDIA display driver that supports the NVIDIA Nsight Graphics tools. If you have an NVIDIA graphics card installed on your target machine, you likely already have an NVIDIA display driver; however, NVIDIA Nsight Graphics requires a specific version of the driver in order to function properly. From the NVIDIA web site, download and install the following display driver:
Windows: Release 398.82 or newer
Linux: Release 390.77 or newer
New Features
- New Feature: GPU Trace
- Analyze simultaneous compute and graphics
- Correlate SM utilization to perf markers to discover workloads that limit your performance
- Includes analysis of DXR raytracing workloads
- New Support: Vulkan Raytracing Debugging support for NVIDIA's Vulkan Ray Tracing Extension
- Capture frames that use vulkan raytracing
- Inspect the raytracing shader bind table
- New Feature: Pixel History for D3D12
- Trace all of the pixels/fragments that have impacted the final composition of a pixel
- New Feature: Custom Texture Visualization in the Resources View
- Edit the default shader used to display textures
- Change the data display or highlight useful characteristics of the data
- Improved: Full support for Windows 10 RS3 Direct3D 12 SDK
- Improved: Ability to launch shell scripts from Nsight Graphics for Linux
- Improved: Includes several bug fixes and application compatibility fixes
- Changed: New year.release versioning scheme for universal alignment with the Nsight portfolio of tools
Known Issues
- C++ Capture of DXR applications may fail for drivers beyond the 398.36 driver version; this will be fixed in an upcoming release.
- Profiling of systems in an SLI configuration is not currently supported; this will be addressed in an upcoming release.
- NVIDIA Nsight Graphics requires a network connection to debug applications. This limitation will be addressed in a future release.
- Linux users: Applications that launch child processes are not fully supported in NVIDIA Nsight Graphics. This will be improved in a future version.
- Serialized projects can fail to compile if range names contain newline characters. This will be handled in a future release. (54263)
- The draw call count in the Range Profiler may be larger than the number of draw calls submitted at the API level. This can be caused by the driver optimizing the submitted workload. This will be updated in a future version. (51956)
- Under certain conditions, the Range Profiler pane may be disabled and display one of the following messages.
Hardware signals are not supported in this configuration
This message could be due to one of the following reasons:
- You are running NVIDIA Nsight Graphics with a Kepler or lower GPU.
- You are using a defunct or non-NVIDIA GPU.
- You are attempting to profile a debug build of the project.
No hardware signals found for this API/GPU combination
This message is likely to occur when you are running NVIDIA Nsight Graphics on a non-MSHybrid laptop. (55730)
- When profiling Direct3D and OpenGL applications on the following GPUs, the Range Profiler view may display values as NaN. This is more likely to be noticed if another application is running in the background. This issue will be resolved in an upcoming release or driver update. (57234)
- GeForce 1080-Ti — GP102-350
- Quadro P400
- Quadro P800
- Quadro P2000
- In Windows 10 Anniversary Update, Version 1607 (build 10.0.14393), NVIDIA Nsight Graphics requires display driver 375.84 or better for proper debugger functionality.
- When running Vulkan applications, you need to leave some memory available for NVIDIA Nsight Graphics to use as staging areas on the GPU. If you get an out of memory warning on the host, this is a hint that you are hitting this problem. (53341)
- NVIDIA Nsight Graphics C++ serialization attempts to pick a reasonable default Windows SDK given the content of the capture. On Visual Studio 2013 and later, the SDK may be easily selected as the Target Platform Version property. (53984)
- The draw call count in the Range Profiler may be larger than the number of draw calls submitted at the API level. This can be caused by the driver optimizing the submitted workload. This will be updated in a future version. (51956)
- Command buffer revisions (re-recording and submitting) within a frame are not currently supported by the Frame Debugger. As a workaround, you can create a new command buffer each time, rather than reset an existing one. Note that this is also advisable in order to achieve the best performance. (48364)
- Vulkan support known limitations include:
- OpenGL interop is not supported (e.g.,
glDrawVulkanImageNV
). - There is no HUD.
- Shader editing is not yet supported.
- Native shaders are unavailable, and therefore shader performance statistics are unavailable.
- OpenGL interop is not supported (e.g.,
- When calculating the histogram for array or cube map resources, the tool only takes into account face
0
. As a work around, if you click on a different face, the histogram will be recalculated for that face. In a future version, this will be fixed to take into account all faces. (34403) - The various scrubbers have a white background, so seeing performance markers that are also colored white can be difficult. We will address this in a future version, but in the meantime please try to use a color for the markers that will contrast well with a white background. (31704)
- If you experience a TDR on either your host or target system, it is recommended that you reboot your machine before trying to restart the debugging session. (22986)
- Since the frame scrubber only allows navigation to actions, there may be times when you select a revision for a resource that is not on or near an action. In this case, an earlier revision is selected that is on/near the selected action. This limitation will be addressed in a future version, when the scrubber allows for navigating to any event, not just actions. (26229)
- NVIDIA Nsight Graphics may not work correctly unless double buffering is enabled by the application, since GLUT or other toolkits may skip the
SwapBuffer
calls for a single buffered window. (24590) - Firewall and anti-attack software (e.g., McAfee Host Intrusion Prevention) will not allow remote debugger connections. Please disable or add an exclusion for the Nsight Monitor. (22804)
- The Frame Scrubber view does not support the
nvtxRangeBegin
andnvtxRangeEnd
functions, onlynvtxRangePush
andnvtxRangePop
. (21499) - NVIDIA Nsight Graphics uses a setting in the driver that enables instrumentation. If the application does not close cleanly, this setting can remain enabled, which can cause some additional CPU overhead. The Nsight Monitor has an option to disable this, in case you see any issues running your application outside of NVIDIA Nsight Graphics. (16936, 16962)
- Forcing the target application to close through the task manager while in the Frame Debugger may crash the target application.
- Windows DPI scaling is not respected in mixed-DPI scenarios with multiple monitors (always keys off main monitor).
- Paths with non-UTF8 characters are not supported as a document save location.
DirectX Known Issues
- If Direct3D compute shaders are not compiled with reflection, the thread count and related values in the Range Profiler will be incorrect. (48252)
- The Tiled Texture Viewer does not currently support 3D tiled texture. This will be functional in the final version. (39384)
- If you encounter rendering issues when running a serialized capture, it could be due to NVIDIA Nsight Graphics saving debug compiled shaders. Debug shaders are used so that both dynamic shader editing and shader debugging functions properly. However, there may be bugs in the shaders generated by the Direct3D compiler when running in debug. To update to the latest compiler/runtime, you can run on Windows 8, or update your Windows 7 system to SP1 and install the platform update from http://support.microsoft.com/kb/2670838.
- Because of driver restrictions, NVIDIA Nsight Graphics does not support creating a Direct3D 11 device with the Direct3D 9 feature set. This configuration may cause instability and application crashes. (32185)
- The Direct3D runtime documentation states that, "the return values of AddRef & Release may be unstable and should not be relied upon." The NVIDIA Nsight Graphics Frame Debugger will also take additional references on objects so any code that relies on an exact reference count at a particular time may fail. In general, users should not expect an exact reference count to be returned from the Direct3D runtime. For more information, see Microsoft's Rules for Managing Reference Counts. (30826)
- If you are passing the
D3D11_MAP_FLAG_DO_NOT_WAIT
to a Map call on a Direct3D 11 Device Context, it is possible that the operation hasn't finished, and that you will see a return code of0x887A000A
orDXGI_ERROR_WAS_STILL_DRAWING
. This can happen when the capture is trying to restore a buffer to the frame start state and it is mapped early in the frame. Simply remove theD3D11_MAP_FLAG_DO_NOT_WAIT
, and it should function properly. (24846) - If a pipeline stage does not have an object bound, the related state will not be displayed on the host. For example, if there is no pixel shader bound, no Shader Resource Views will be shown in the Pixel Shader page. (15394)
- HLSL code cannot contain any non-ASCII characters. Any character with a character code >= 128 is not supported. (14760)
- Applications that intercept DirectX devices or objects by use of a shim object are not supported. This interferes with an internal mechanism and therefore cannot be handled properly. (14470)
- NVIDIA Nsight Graphics is incompatible with the debug runtime in all versions of Direct3D. While it may sometimes work, there are known incompatibilities that we are unable to support at this time.
OpenGL Known Issues
- Using names that are generated by
glGen*
is advised for performance and correctness. Under normal operation, if an application uses a mix of generated and non-generated names (e.g. via a middleware product), there is the possibility of conflicts/aliases between names. When running an application under Nsight, Nsight will create its own resources that use names generated by the driver, further increasing the likelihood of conflicts. The recommended approach is to always use names that are generated by the driver viaglGen*
. (30578) - The Pixel value in the tables for the OpenGL profiler represent shaded pixels (i.e., fragments that ran the fragment shader). If color writes are disabled and the fragment shader doesn't write
Z
, this value may be0
, even though the depth value for a fragment may be written. (22061) - If you are connected to your target using VNC and attempting to debug an OpenGL program, make sure to disable any "Hook" or "Mirror" driver option in the VNC server settings. (20686)
![](../resources/prettify/onload.png)
NVIDIA® Nsight Graphics Documentation Rev. 2018.4.180813 ©2018. NVIDIA Corporation. All Rights Reserved.