您现在的位置是:首页 >其他 >Unity Nsight Graphcis 使用网站首页其他
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层面的代码