У меня есть конвейер, который может нарисовать aws me me sh с некоторыми параметрами, заданными равномерным (цвет, отражение света и более) и несколькими текстурами. Чтобы каждый вызов рисования позволял разные значения для униформы и разные текстуры, я планирую использовать разные DescriptorSet для каждого вызова. Таким образом, каждый набор дескрипторов обновляется с указанием c унифицированного буфера и текстур с требуемыми значениями и изображениями для вызова.
Возникает несколько вопросов:
Предел наборов дескрипторов в системе: если я знаю, что для каждого кадра мне может понадобиться N вызовов отрисовки, это означает, что мне нужно создать N наборов дескрипторов, и это только для этого конвейера. Если у меня есть несколько разных конвейеров (для разных типов чертежей) - скажем, P конвейеров, и каждый из них может вызываться по N раз за кадр ... это означает, что у меня есть в общей сложности M * P наборов дескрипторов. Каков предел общего количества дескрипторов?
Эффективность обновления: я могу изначально создать единый буфер для каждого дескриптора для сохранения обновлений, но в любом случае при каждом вызове нужно будет копировать значения из процессора в ограниченный унифицированный буфер соответствующего дескриптора, а также обновите этот дескриптор соответствующими текстурами. Это приведет к плохим выступлениям, или это так?