内容创建/渲染

使用 NVIDIA Nsight Developer Tools 提升优化、调试和性能调整

在 NVIDIA 平台上开发时,硬件应该对您透明。 GPU 感觉像魔术,但为了优化和表现游戏,最好了解幕后的低级流程。 NVIDIA Nsight 开发工具就是为了这个原因而构建的。

想象一下,一位自豪的房主住在一所他们热爱并想照顾的房子里。当然,这包括更新实用程序、进行春季清理,甚至可能构建新的插件。但是照顾一个家也包括通常不太好的维护工作。是否有导致水损坏的管道泄漏?厨房的水槽变成棕色,这可能与管道问题有关吗?现在木瓦下面有霉菌,地板开始吱吱作响,空调不想启动。问题多于答案,解决方案似乎无助地遥不可及。

管理任何项目,从游戏开发到购房,都需要尽职调查,以确保所有部分都按预期工作。这可能是一个艰巨的挑战;当问题源于某个底层断点时,如何修复看不到的问题?归根结底,除了掀起外壳外,没有其他方法可以确定和解决问题的根源。当内部工作被暴露出来时,更重要的是,理解的解决方案被明确了。

在看管房子时,你可以为自己配备正确的工具来诊断手头的任何问题,并帮助防止将来出现任何问题。也许你想在墙上挂一台电视机,但你不知道饰钉在哪里。通过使用螺柱探测器定位最佳锚定点,避免危机。

同样,对于图形开发来说,您必须能够处理可能出现的任何错误修复或优化需求。就像任何其他项目一样,拥有合适的工具可以实现这一点。

什么是开发工具?

好的开发工具就像一台 x 光机,可以让你窥视 GPU 的内部。在物理计算机和您正在构建的应用程序之间总是有一些抽象层,但您无法优化和调试看不到的内容。开发人员工具允许查看硬件级进程,并在屏幕上显示驱动图形的计算。

通过揭示诸如 GPU 吞吐量之类的活动指标,并确定诸如帧断断续续之类的速度减慢,开发人员工具可以帮助确保您的最终产品性能卓越、优化且制作精良。同时,工具通过消除未经通知的错误修复导致的时间汇,加快了开发时间。

GPU Trace revealing throughput metrics on a timeline, showing how each process relates to and affects the other.
图 1. GPU 跟踪硬件指标

当屏幕上的输出与您的意图不一致时,显然出现了问题。在编码时,如果一行不工作,就会返回一个错误。然而,对于那些可以写得更高效或进行了更多优化的代码,不会自动提升标志。

图形开发也是如此。当帧速率突然拖动或场景加载停留太久时,如果不在硬件源处分析问题,猜测和检查答案是徒劳的。通过提供低级洞察力来通知调试,开发人员工具有助于消除对暴力解决方案的需求。

工具还可以帮助处理更具戏剧性的情况:屏幕上没有输出。 GPU 崩溃会以一种突然的、令人困惑的方式停止图形处理。在大规模可编程 GPU 的时代,您可以编写自定义着色方法,内存访问被构建为即时和直接的。这些功能可以实现快速处理的风格多样性,但也为错误触发崩溃提供了新的机会。在发生故障时访问硬件状态对于纠正 GPU 异常至关重要。

Instance heatmap in the Nsight Graphics ray tracing acceleration structure viewer identifying ray intersection hotspots that could cause performance issues
图 2.显示性能问题区域的热图

什么是 Nsight ?

NVIDIA Nsight Developer Tools 是一套工具,提供对 NVIDIA GPU 最直接、最全面的访问,以及与之交互的底层代码。 Nsight 为您通常无权访问的性能调优和优化提供了关键信息。

NVIDIA 图形卡非常复杂,在充分利用时可以做一些令人惊叹的事情。这一点随着每一代新 GPU 的出现而不断扩大,对于 NVIDIA Ada Lovelace 建筑来说尤其如此。 Nsight 工具套件有助于确保应用程序充分发挥 GPU 处理能力的潜力。

在开发支持 NVIDIA RTX 的应用程序和游戏时尤其如此。 Nsight Graphics 为光线跟踪和光栅化应用程序提供深入的图形调试。它暴露了渲染管道中的低效性,并通过清晰的视觉效果(如 GPU 跟踪和帧分析)很容易找到优化。

如果您希望访问 GPU 实时性能指标和应用程序中的性能指标,可以使用 Nsight Perf SDK ,它具有实时 HUD 解决方案,可监视 GPU 活动。

对于全系统性能调优方法, Nsight Systems 将 GPU 吞吐量与 CPU 性能和其他指标(包括网络和内存操作)并行进行分析。通过提供这些工作负载的自上而下捕获,可以识别性能限制器,并将其与其他硬件事件关联起来,以在源代码处指导优化活动。

为了处理意外的 GPU 崩溃,这对任何开发人员来说都是最令人沮丧的障碍之一, Nsight Aftermath SDK 生成详细的管道转储,以识别发生错误的源代码。

还有更多与您的开发领域相关的 Nsight 开发工具可供探索。 Nsight 还包括一组 CUDA 计算工具,包括用于 CUDA 内核评测的 Nsight compute 。有关可用工具宽度的更多信息,请参阅 NVIDIA Developer Tools Overview

Screenshot of the Justice Online MMORPG.
图 3.网易使用 NVIDIA Nsight Developer Tools 帮助他们为 GeForce RTX 40 系列准备了他们的武术 MMORPG Justice Online

Nsight 开发工具入门

Nsight 工具扩展了对 NVIDIA Ada Lovelace 架构的支持。要了解 Nsight 工具如何在最新一代 GPU 上提升游戏开发,请参阅以下视频。

视频 1.使用 NVIDIA Nsight 工具在 NVIDIA -Ada Lovelace 上构建游戏

视频 2. NVIDIA 开发工具:开发场景和解决方案演练

今天就学习 Fundamentals for Ray Tracing using NVIDIA Nsight Graphics and NVIDIA Nsight Systems 和开始使用该技术:

了解更多 Nsight Developer Tools

Tags