同样的场景首次启动与二次启动依然有PSO卡顿,二次启动卡顿尖峰主要是后处理引起
首次启动
[Image Removed]
二次启动
[Image Removed]
二次启动大卡顿集中在后处理阶段
[Image Removed]
[Image Removed]
同样的场景首次启动与二次启动依然有PSO卡顿,二次启动卡顿尖峰主要是后处理引起
首次启动
[Image Removed]
二次启动
[Image Removed]
二次启动大卡顿集中在后处理阶段
[Image Removed]
[Image Removed]
Hi,
编译PSO卡顿是常见的现象,即使是第二次启动(即便在Driver里有cache),也不代表编译PSO会没有很高的代价,为了避免runtime编译pso,还是要尽量在启动或者加载资源过程中编译pso。
从现象上看,应该是PSO Precaching没有预测到runtime所需要的pso,可以设置r.PSOPrecache.Validation 2看一下哪些pso没有被precache到。另外可以考虑同时开启PSO Precache和Shader PipelineCache,Shader PipelineCache只存PSO Precache miss的shader,这样可以避免runtime编译pso,同时启动时间也不会太久。