Vulkan:硬件中关联的 4 个绑定描述符集的限制到底是多少?

问题描述 投票:0回答:1

在 Vulkan 中,建议限制自己一次绑定 4 个描述符集,因为这将使您在最低层的硬件上顺利通过,即使高端设备允许的数量远多于 4 个。但是由于描述符集的概念这只是 Vulkan 的烟雾和镜子,到底是什么造成了绑定集数量的限制?

如果我理解正确的话,Direct3D 描述符表将是最接近 Vulkan 描述符集的东西,但是添加到根签名的描述符表的数量没有类似的限制,那么硬件如何确定 Vulkan 描述符集的限制?

我的假设中的某些事情也可能是完全错误的,所以请随时纠正我的误解。

graphics vulkan descriptor direct3d12
1个回答
0
投票

Vulkan 可在各种硬件上运行,包括移动 GPU,并且第一个 Vulkan 实现在早于 Vulkan 的硬件设计上运行。确切的限制因素并不总是公开的,尽管存在硬件限制和/或性能下降,使得更大的数量在旧硬件上不可行。

Arm 在此记录了其旧版 GPU 的一些限制因素,但他们并不是唯一存在限制的供应商:

如果四个源描述符集中的任何一个发生更改,则驱动程序将重建内部表以进行绘制调用。描述符更改后的第一个绘制调用比后续重用相同描述符集的绘制调用具有更高的 CPU 开销。

大多数(全部?)最新的 GPU 硬件支持更大的数量(例如,几年来,7 一直是大多数移动硬件上的设备最小值),因此随着旧硬件的淘汰,实际的实际最小值正在增加。

© www.soinside.com 2019 - 2024. All rights reserved.