Unity Nsight Graphcis 使用

前言

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

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

Unity Nsight Graphcis 使用_第1张图片

 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

Unity Nsight Graphcis 使用_第2张图片

 

 Unity Nsight Graphcis 使用_第3张图片

 运行Demo后截帧

Event 和 CurretTareget

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

Unity Nsight Graphcis 使用_第4张图片

 

Range Profier

Unity Nsight Graphcis 使用_第5张图片

 

 

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进入

Unity Nsight Graphcis 使用_第6张图片

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

Unity Nsight Graphcis 使用_第7张图片 

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

 Unity Nsight Graphcis 使用_第8张图片

 Unity Nsight Graphcis 使用_第9张图片

 

 

 

你可能感兴趣的:(Unity图形渲染,unity)