Почему односторонний рендеринг не выигрывает у рендеринга полигонов с двух сторон в Vulkan

Учу Vulkan по гайду Vulkan Tutorial. Там в примере при создании пайплайна при указании растеризации cullMode стоит VK_CULL_MODE_BACK_BIT и я заметил что из за этого если смотреть на полигоны с обратной стороны, что они не отображаются. Но есть поставить VK_CULL_MODE_NONE, то будет рисоваться с двух сторон. Но... если замерять время кадра с VK_CULL_MODE_BACK_BIT и VK_CULL_MODE_NONE, то у меня оно получилось +- одинаковым на уровне погрешности. Как мне сказали на другом форуме "Вы рассуждаете как нормальный человек: ну меньше же полигонов рисуем, стало быть должно быть (ощутимо) быстрее. Неоднократно замечал что GPU этой логике не следует, и то что ожидается быстрее - рисуется медленнее, и наоборот." Так вот, почему это так не работает и производительность не увеличивается в +- 2 раза?


Ответы (1 шт):

Автор решения: Сергей Терпеливый

Cullmode это как растеризатор будет отбрасывать вершины. Есть куллинг по часовой, против часовой, а ещё его можно отключить. Кулинг это очень простой и крайне эффективный способ оптимизировать отрисовку. Вы рисуете сколько вершин? Предполагаю что у вас их немного. Попробуйте скачать где нить obj файл с кучей полигонов.

→ Ссылка