Summary

NVIDIA Nsight Graphics 2020.3 is a powerful tool for profiling and debugging graphics applications. This latest version introduces several key features and improvements, including support for the VK_KHR_ray_tracing extension, DirectX RayTracing Tier 1.1, and a new command-line interface (CLI) for report generation. It also offers enhanced visualization capabilities, improved performance, and expanded support for various graphics APIs and extensions.

Unlocking Advanced Graphics Profiling with NVIDIA Nsight Graphics 2020.3

NVIDIA Nsight Graphics 2020.3 is a significant update that enhances the capabilities of this comprehensive tool for graphics developers. This version focuses on expanding support for cutting-edge graphics technologies, improving performance, and introducing new features that streamline the debugging and profiling process.

Key Features and Improvements

VK_KHR_ray_tracing Support

Nsight Graphics 2020.3 now supports the VK_KHR_ray_tracing extension, allowing developers to capture, profile, and export applications using this provisional extension to a C++ capture. This feature is particularly useful for experimenting with ray tracing before the extension is fully ratified.

DirectX RayTracing Tier 1.1

This version also adds support for DirectX RayTracing Tier 1.1, enabling developers to scrub TraceRay calls within ExecuteIndirect in the timeline and view all new DXR 1.1 ray tracing flags for C++ captures and acceleration structure viewing.

Command-Line Interface (CLI) for Report Generation

The new CLI tool allows for command-line driven report generation, supporting the creation of GPU Trace reports or C++ captures. Users can configure a delay in seconds or frames before the capture is triggered, providing more flexibility in the profiling process.

Enhanced Visualization

Variable Rate Shading (VRS) information can now be visualized in the Current Target View for Vulkan and D3D12 applications. This feature helps developers understand shading rates and optimize their applications more effectively.

Nsight Graphics SDK

The introduction of the Nsight Graphics SDK marks a new way to interface with Nsight Graphics. The initial release includes an API for programmatic injection, allowing developers to enable their applications to be debugged or profiled. Future versions will expand on these capabilities.

Performance Improvements

  • C++ Capture Build Times: Reduced by up to 40x for large applications.
  • C++ Capture Replay Performance: Improved by up to 5%.
  • Watchdog Thread Detection: Enhanced detection and freezing of watchdog threads to prevent application teardown after resuming from a capture.

Expanded Support

  • Vulkan Extensions: Added support for VK_KHR_deferred_host_operations, VK_KHR_pipeline_library, and VK_EXT_tooling_info.
  • OpenGL Extensions: Added support for GL_NV_clip_space_w_scaling.
  • NVTX Support: GPU Trace now supports NVTX start-end ranges, which can be collected and shown in GPU Trace reports.
  • External DXIL PDBs: Supported for shader viewing and editing, with configurable search paths in Nsight Graphics options.

Additional Changes and Known Issues

  • Removed Support for Maxwell Architectures: Nsight Graphics 2020.3 no longer supports Maxwell architectures.
  • Known Issues: Vulkan applications using the validation layer might trigger a validation error in GPU Trace due to a bug in the validation layer (present in SDK 1.2.135.0). This issue will be fixed in a future release of the Vulkan SDK.

Table: Key Features and Improvements

Feature Description
VK_KHR_ray_tracing Support Capture, profile, and export applications using the provisional VK_KHR_ray_tracing extension to a C++ capture.
DirectX RayTracing Tier 1.1 Support for DirectX RayTracing Tier 1.1, including scrubbing TraceRay calls within ExecuteIndirect and viewing all new DXR 1.1 ray tracing flags.
Command-Line Interface (CLI) for Report Generation Generate GPU Trace reports or C++ captures using the CLI tool, with configurable delays.
Enhanced Visualization Visualize Variable Rate Shading (VRS) information in the Current Target View for Vulkan and D3D12 applications.
Nsight Graphics SDK Initial release of the Nsight Graphics SDK, including an API for programmatic injection.
Performance Improvements Reduced C++ capture build times and improved C++ capture replay performance.
Expanded Support Added support for various Vulkan and OpenGL extensions, NVTX, and external DXIL PDBs.

Table: Supported Platforms and Extensions

Platform/Extension Support
Vulkan Extensions VK_KHR_deferred_host_operations, VK_KHR_pipeline_library, VK_EXT_tooling_info
OpenGL Extensions GL_NV_clip_space_w_scaling
NVTX Supported for GPU Trace reports
External DXIL PDBs Supported for shader viewing and editing
Windows Supported up to 20H1
Vulkan Supported with various extensions
DirectX Supported with RayTracing Tier 1.1
OpenGL Supported with various extensions

Table: Known Issues

Issue Description
Vulkan Validation Layer Error Validation error in GPU Trace due to a bug in the validation layer (present in SDK 1.2.135.0).
Removed Support for Maxwell Architectures Nsight Graphics 2020.3 no longer supports Maxwell architectures.

Conclusion

NVIDIA Nsight Graphics 2020.3 is a powerful tool that offers a wide range of features and improvements for graphics developers. With its support for the latest graphics technologies, enhanced visualization capabilities, and improved performance, it is an essential tool for anyone looking to optimize and debug their graphics applications. Whether you are working with Vulkan, DirectX, or OpenGL, Nsight Graphics 2020.3 provides the tools you need to create high-performance, visually stunning applications.