Release Notes

Release notes and known issues.

New Features and Capabilities

New features and capabilities in the Nsight Graphics™ 2019.1 release

  • New Feature: Nsight Aftermath (Alpha)
    • Enables users to debug GPU crashes and hangs caused by their DirectX 12 applications
    • Provides a simple UI that directs users to the line of shader source code where the crash/hang occurred
  • New Feature: Trace Compare in GPU Trace
    • Enables side-by-side comparison of selected frames and traces
    • Users can align the timeline to specified events for better visual analysis
  • New Feature: Range Profiler selection linking

    • Range Profiler selection now sets the current event to the last event in the selected range
    • Enhances transition between profiling and debugging workflows
  • New Support: OpenGL and Vulkan Interoperability debugging

    • Enables the Frame Debugging activity for applications using OpenGL and Vulkan simultaneously
    • Support EXT_external_objects
  • New Support: DirectX12 NVAPI Metacommand Support
  • Improved

    • Better UI performance in Frame Debugging and Frame Profiling activities
    • Includes several other bug fixes and application compatibility fixes

Required Display Driver

You must install the NVIDIA display driver that supports the Nsight Graphics tools. If you have an NVIDIA graphics card installed on your target machine, you likely already have an NVIDIA display driver; however, 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 418.81 or newer

Linux: Release 415.27 or newer

Deprecations

Deprecated features or operating system support will be removed in a future release

  • No current deprecations

Known Issues

General Known Issues

  1. Profiling of systems in an SLI configuration is not currently supported; this will be addressed in an upcoming release.
  2. Nsight Graphics requires a network connection to debug applications. This limitation will be addressed in a future release.
  3. Linux users: Applications that launch child processes are not fully supported in Nsight Graphics. This will be improved in a future version.
  4. Serialized projects can fail to compile if range names contain newline characters. This will be handled in a future release. (54263)
  5. 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)
  6. 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:

    1. You are running Nsight Graphics with a Kepler or lower GPU.
    2. You are using a defunct or non-NVIDIA GPU.
    3. 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 Nsight Graphics on a non-MSHybrid laptop. (55730)

  7. Nsight Graphics C++ serialization attempts to pick a reasonable default Windows SDK given the content of the capture. On Visual Studio 2015 and later, the SDK may be easily selected as the Target Platform Version property. (53984)
  8. 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)
  9. 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)
  10. 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)
  11. The Frame Scrubber view does not support the nvtxRangeBegin and nvtxRangeEnd functions, only nvtxRangePush and nvtxRangePop. (21499)
  12. Forcing the target application to close through the task manager while in the Frame Debugger may crash the target application.
  13. Windows DPI scaling is not respected in mixed-DPI scenarios with multiple monitors (always keys off main monitor).
  14. Paths with non-UTF8 characters are not supported as a document save location.
  15. With the initial release of 410 and 411 drivers on Turing GPUs, profiling while running background GPU processes may lead to occasional crashes in the background process. A fix to alleviate this condition is expected in an upcoming driver release. If you experience this symptom, please refrain from running any other GPU processes in the background when running profiling tools like Nsight Compute, Nsight Graphics, Nsight VSE compute or graphics profilers, CUPTI or nvvp.

D3D Known Issues

  1. If Direct3D compute shaders are not compiled with reflection, the thread count and related values in the Range Profiler will be incorrect. (48252)
  2. Because of driver restrictions, 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)
  3. The Direct3D runtime documentation states that, "the return values of AddRef & Release may be unstable and should not be relied upon." The 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)
  4. 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 of 0x887A000A or DXGI_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 the D3D11_MAP_FLAG_DO_NOT_WAIT, and it should function properly. (24846)
  5. 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)
  6. HLSL code cannot contain any non-ASCII characters. Any character with a character code >= 128 is not supported. (14760)
  7. 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)
  8. 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

  1. 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 via glGen*. (30578)
  2. 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 be 0, even though the depth value for a fragment may be written. (22061)
  3. 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)
  4. 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)

Vulkan Known Issues

  1. When running Vulkan applications, you need to leave some memory available for 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.
  2. 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.
  3. When running a C++ Capture of some large Vulkan applications on Linux, an error may be reported of "Too many resident pages". This can be worked around by adjusting the MAX_RESIDENT_PAGES constant in Helpers.cpp.

Notices

Notice

ALL NVIDIA DESIGN SPECIFICATIONS, REFERENCE BOARDS, FILES, DRAWINGS, DIAGNOSTICS, LISTS, AND OTHER DOCUMENTS (TOGETHER AND SEPARATELY, "MATERIALS") ARE BEING PROVIDED "AS IS." NVIDIA MAKES NO WARRANTIES, EXPRESSED, IMPLIED, STATUTORY, OR OTHERWISE WITH RESPECT TO THE MATERIALS, AND EXPRESSLY DISCLAIMS ALL IMPLIED WARRANTIES OF NONINFRINGEMENT, MERCHANTABILITY, AND FITNESS FOR A PARTICULAR PURPOSE.

Information furnished is believed to be accurate and reliable. However, NVIDIA Corporation assumes no responsibility for the consequences of use of such information or for any infringement of patents or other rights of third parties that may result from its use. No license is granted by implication of otherwise under any patent rights of NVIDIA Corporation. Specifications mentioned in this publication are subject to change without notice. This publication supersedes and replaces all other information previously supplied. NVIDIA Corporation products are not authorized as critical components in life support devices or systems without express written approval of NVIDIA Corporation.

Trademarks

NVIDIA and the NVIDIA logo are trademarks or registered trademarks of NVIDIA Corporation in the U.S. and other countries. Other company and product names may be trademarks of the respective companies with which they are associated.