Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/firebase/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Optimization 输入程序集瓶颈-HLSL_Optimization_Directx_Hlsl_Unreal Engine4 - Fatal编程技术网

Optimization 输入程序集瓶颈-HLSL

Optimization 输入程序集瓶颈-HLSL,optimization,directx,hlsl,unreal-engine4,Optimization,Directx,Hlsl,Unreal Engine4,我正在研究一个体素化着色器,它基于现在所有模糊的单遍技术(),并试图对其进行优化。我在右边运行了nVidia,在分析器上得到了一个奇怪的结果 结果探查器说我是输入程序集绑定的。 有人知道如何处理这个问题吗?我应该减少什么 对于更多的上下文,我正在为虚幻引擎4开发实时GI,所以我不能更改顶点格式。另一个可能导致问题的原因是,我必须进行大量的绘制调用以进行体素化(在某些场景中约为15K),因为我访问引擎中数据的方式不同。 那么多的绘图调用可能会导致输入程序集瓶颈 相比之下,在GTX 970上复杂场景

我正在研究一个体素化着色器,它基于现在所有模糊的单遍技术(),并试图对其进行优化。我在右边运行了nVidia,在分析器上得到了一个奇怪的结果

结果探查器说我是输入程序集绑定的。 有人知道如何处理这个问题吗?我应该减少什么

对于更多的上下文,我正在为虚幻引擎4开发实时GI,所以我不能更改顶点格式。另一个可能导致问题的原因是,我必须进行大量的绘制调用以进行体素化(在某些场景中约为15K),因为我访问引擎中数据的方式不同。 那么多的绘图调用可能会导致输入程序集瓶颈


相比之下,在GTX 970上复杂场景(15K绘制调用,300x600x200体素网格)需要7.65毫秒。

顶点格式的大小(以字节为单位)?如果我正确,大约4-5浮点4。奇怪的是,对于具有完全相同的渲染代码的相同对象(唯一的区别是没有GS限制,当然着色器本身)渲染阴影贴图需要0.4 ms。我的推理是,如果我被draw调用计数限制,那么差异应该更小。这可能与Geometry Shader阶段有关?Geometry Shader确实往往是一个瓶颈,因为没有一个供应商的实现为该阶段提供重要的专用硬件资源。当输入和输出的顶点数相同时,效果最佳。对于顶点格式,坚持32字节或64字节的总跨距对于IA性能来说是最好的。顶点格式的大小是多少(以字节为单位)?如果我正确的话,大约4-5浮点4。奇怪的是,对于具有完全相同的渲染代码的相同对象(唯一的区别是没有GS限制,当然着色器本身)渲染阴影贴图需要0.4 ms。我的推理是,如果我被draw调用计数限制,那么差异应该更小。这可能与Geometry Shader阶段有关?Geometry Shader确实往往是一个瓶颈,因为没有一个供应商的实现为该阶段提供重要的专用硬件资源。当输入和输出的顶点数相同时,效果最佳。对于顶点格式,坚持32字节或64字节的总跨距对于IA性能来说是最好的。