Advances in Ray Tracing Developer Tools: March 21th, 2024 - S62398
Advances in Ray Tracing Developer Tools: March 21th, 2024 - S62398
1
Agenda
1 Introduction
4 Advances In Tools
5 Case Studies
6 Conclusion + Q&A
2
The Game Development Journey
3
Game Development in 2024
Some New Challenges, Some Old Challenges, Many New Opportunities
4
Game Development in 2024
Some New Challenges, Some Old Challenges, Many New Opportunities
Cheating
Continuous Content Delivery
Security
Bugs & QA
Multi-Platform Development
5
2024: Ray Path Tracing in Games
Light Years Beyond Hybrid Ray Tracing
6
Technologies
7
Developer GPU Challenges
8
Developer GPU Challenges in 2024
Just Make It Faster, Less Buggy, Prettier. Easy Right?
Asynchronous Workloads
GPU Crashes
Memory Management
API Complexity
9
Developer Tools
Nsight Systems Nsight Graphics Nsight Aftermath
10
Graphics Triage Workflow
Nsight Systems
Comprehensive workload-level analysis
Performance Yes
Rendering Yes
Issue?
Yes
Nsight Graphics
Detailed graphics debugging/profiling
Rendering Fixed
11
Advances In Tools
12
Nsight Systems
Stutter Analysis
GPU Memory
13
Nsight Systems
Powerful Memory Inspection Features
Allocated VRAM
w/ Physical Watermark
Resource Allocations
14
Nsight Systems 2024.2
New features
OpenXR Trace
15
Nsight Systems 2024.2
VRAM Demotions in D3D12
16
Nsight Systems 2024.2
Stutter caused by Resource Migration
17
Nsight Graphics
Empower Your Next-Gen Graphics
Debugging: Windows
C++ Frame Serialization Linux
Resource Viewer Android
Pixel History LuminOS
API inspection
GPU Crashes x64
ARM
Profiling:
GPU Trace
Shader Profiler D3D+11/12, DXR
Shader Timing Heatmap Vulkan 1.2, VRT
OpenGL 4.6
18
Nsight Graphics in 2023
What's The Story So Far?
19
Nsight Graphics 2024.1
Starting Out The Year Strong
20
Nsight Graphics 2024.1
Starting Out The Year Strong
21
Nsight Graphics 2024.1
Starting Out The Year Strong
22
Nsight Graphics 2024.1
Starting Out The Year Strong
Export to CSV
23
Shader Debugging In 2023
24
Introducing the All-New Nsight Shader Debugger!
25
Nsight Shader Debugger
Because Writing Large Shaders Is Challenging
26
Nsight Shader Debugger
2 GPUs Are Required
Remote Connection
Host & Target Host Target
27
Nsight Shader Debugger
Because Writing Large Shaders Is Challenging
Focus Picker
28
Nsight Shader Debugger
Because Writing Large Shaders Is Challenging
Locals
Warp Info
Source Code
& Breakpoints
29
Nsight Shader Debugger
Because Writing Large Shaders Is Challenging
Conditional
Breakpoints
Breakpoints List
30
Nsight Shader Debugger
Because Writing Large Shaders Is Challenging
What's Next?
• Public Launch
• D3D12/DXR Support
31
Nsight Aftermath
GPU Crashes Happen, Find Out Why
Faulting Warps
32
Nsight Aftermath 2024.1
Full Resource History
33
Ray Tracing Inspector
● Visualize acceleration structures ● Navigate through the scene
● Analyze build flags ● Expose raw buffer data
34
Ray Tracing Inspector
● View traversal timing heatmaps ● Observe overlapping AABBs
● Hide & show geometry ● Change build flags
35
Case Studies
36
Ray Tracing Inspector with Alan Wake 2
(Remedy Entertainment)
● Poor performance in this underground scene
● Sorting by primitive count unveils some suspicious geometry
37
Ray Tracing Inspector with Alan Wake 2
38
Comparison of Traversal Heatmaps
Before After
Max Traversal Time: 38,000,000 clock cycles Max Traversal Time: 490,000 clock cycles
options options
39
GPU Trace: Real-Time Shader Profiler
40
GPU Trace: Real-Time Shader Profiler
41
GPU Trace: Real-Time Shader Profiler
42
GPU Trace: Real-Time Shader Profiler
43
GPU Trace: Real-Time Shader Profiler
44
GPU Trace: Real-Time Shader Profiler
45
GPU Trace: Real-Time Shader Profiler
No symbols
46
The Importance Of Shader Symbols
A quick PSA about Debug Symbols
47
GPU Trace: Real-Time Shader Profiler
Sample distribution
48
GPU Trace: Real-Time Shader Profiler
Avg latency
49
GPU Trace: Real-Time Shader Profiler
Sample distribution
50
GPU Trace: Real-Time Shader Profiler
51
GPU Trace: Real-Time Shader Profiler
52
GPU Trace: Real-Time Shader Profiler
53
GPU Trace: Real-Time Shader Profiler
Material
54
GPU Trace: Real-Time Shader Profiler
55
Conclusions + Q&A
56
We're Hiring!
57
Conclusions
Development Is Hard But We're Here to Make It Easier
• Find issues in shaders and fix bugs faster using a good Shader Debugger
• Use the Ray Tracing Inspector to ensure that your ray tracing backend is working properly
• Nsight Aftermath should be integrated into your application to help find and fix GPU crashes
• GPU Trace and the Realtime Shader Profiler are essential tools for analyzing performance
• Performance analysis is an ongoing process -- analyze, iterate and repeat to reach your target
• There are lots of resources available if you want to learn more about ray tracing, including the
free Ray Tracing Gems II eBook:
58
THANK YOU!
Questions?
@AurelioReis @NVIDIAGameDev
Get it at developer.nvidia.com/nsight-graphics
Contact us at [email protected]
File bugs using the Feedback Button
Learn & explore by using the integrated samples
Check out more videos on YouTube: search 'NVIDIA Developer'
59