您现在的位置是:首页 >其他 >Unity Nsight Graphcis 使用网站首页其他

Unity Nsight Graphcis 使用

带帯大师兄 2024-06-03 11:54:19
简介Unity Nsight Graphcis 使用

前言

在渲染Profile中,大家经常喜欢使用Renderdoc软件, 之前我的一篇博客也介绍Renderdoc Profile渲染的流程

RenderDoc Debug UE4 Shader_ue4 debug shader_带帯大师兄的博客-CSDN博客

 Renderdoc适合查看Draw哪一步出差了,导致效果不符合理想,又或者是非常粗糙估算某次Drawcall的消耗时间。但是Renderdoc有个非常严重的缺点,无法具体查看某次DrawCall具体瓶颈, 比如具体消耗瓶颈是在VertexShader, 还是PixelShader,消耗瓶颈在Shader的哪一步计算,这些Renderdoc是无法查看的。因此, 为了进一步查看这些更具体的性能数据, 得进一步使用其他工具来Profile, 我比较推荐Windows版本的NSight Graphcis 

NSight Graphcis 

下载地址: Download NVIDIA Nsight Graphics | NVIDIA Developer

使用文档: User Guide :: Nsight Graphics Documentation

显卡要求: RTX系列显卡(Shader Profile需要RTX显卡)

Unity引擎版本: 2022.2.1f1

NSight Graphcis版本: 2022.1.1

Demo:Unity实现GPU Cull渲染_带帯大师兄的博客-CSDN博客

RenderAPI环境: Directx12

FrameDebugger

 

 

 运行Demo后截帧

Event 和 CurretTareget

Draw事件查看器,和Renderdoc的Event使用差不多

 

Range Profier

 

 

Debug一个渲染阶段(各种Draw事件)的各项性能指标,特别是Pipeline Overview清晰的给出VS/PS/GS/CS等阶段占比消耗。

ShaderProfiler

 记得使用RTX显卡,并且在Directx12环境,unity shader加入一下宏, Unity比较推荐2022之后的国际版本。

#pragma enable_d3d11_debug_symbols
#pragma use_dxc

 shader profile入口很多,可以从RangeProfiler或者Eevent进入

在转dxc下才能看到Shader具体执行指令的性能HotSpots

 

 目前碰上一个坑:SurfaceShader在 use_dxc宏下存在异常,无法查看HotSpots和HLSL层面的代码

 

 

 

 

 

风语者!平时喜欢研究各种技术,目前在从事后端开发工作,热爱生活、热爱工作。