Войти
ПрограммированиеФорумГрафика

Vulkan API (вышел!) (740 стр)

Страницы: 1739 740 741 742756 Следующая »
#11085
14:36, 16 апр 2024

Все равно не все так просто, для visibility buffer нужны как минимум tc для alpha-tested моделей

#11086
16:17, 16 апр 2024

В чём профит асинхронного render loop-а, когда не ждёшь окончания present-а и сразу начинаешь рисовать новый кадр? Речь о десктопном железе, а не о мобилках.

Мои наблюдения: сам present выполняется вообще почти мгновенно, не знаю, nsight показывает меньше нуля в миллисекундах. Пытаться выиграть это, на мой взгляд - дичь.

Далее. Казалось бы, ну вот отправили мы сабмит куеуе на выполнение и могли бы не ждать завершения, пытаясь отрисовать новый кадр, а когда тот предыдущий отрендерится - сделать ему презент по семафору. Но давайте подумаем чисто логически, когда GPU рисует командный буфер (и тут мы типа может сделать что-то ещё) - он занять почти на 100%, пытаться запихнуть туда ещё один кадр вроде как и бессмысленно, это ж не бездонная бочка мультипроцессоров, он и так занять на всю катушку отрисовкой предыдущего.

Накой тогда люди с этим заморачиваются? Особенно со всякими трипл буферингами, когда достаточно простого дабл буферинга и синхронизации по кадрам без всякого гемора с дублированием кучи дескрипторов и картинок для каждого кадра. Я конечно согласен, что пока рисует GPU, можно что-то полезное сделать на CPU, если таковая работа имеется, но это уже другой вопрос.

#11087
(Правка: 17:52) 17:37, 16 апр 2024

Откуда берется OpCapability Geometry ?

+ Показать

upd: нашел, оказалось в инклудах был gl_Layer, который даже не попал в асм, но этого хватило чтоб добавить OpCapability Geometry

#11088
2:09, 17 апр 2024

dominator
> Я конечно согласен, что пока рисует GPU, можно что-то полезное сделать на CPU, если таковая работа имеется, но это уже другой вопрос.

Правильный вопрос сам на себя отвечает. Если делать что то простое, то, конечно, не нужно. Но если кадр сложный, то может понадобится не только гпу-цпу в ассинхроне выполнять, но и команды на гпу распараллеливать, ака асинк компьют.

Рано или поздно все равно нужно где то синхронизировать работу гпу-цпу.
Если в каком-то проекте нет такой синхронизации, значит проект на пути к гонке данных и неопределенному проведению

#11089
14:33, 17 апр 2024

luckyleo769
> ака асинк компьют.
Во-первых, никакого асинк компьюта на обычных десктопных GPU вроде и нет, шедулдер все равно скорее всего одно за другим пульнёт, ядра то одни и те же по сути.

Во-вторых. Ну ок, асинк компьют есть, но что мешает вначале кадра зупулить рендер и компьют в разные очереди и в конце кадра ждать их обоих по семафорам. Короче, смысла дублировать данные кадров вообще походу нет.

#11090
14:49, 17 апр 2024

dominator
смысл асинк компьюта в том, чтобы нагрузить ядра вычислениями, пока занят растеризатор, например. Поэтому его обычно параллелят с з-препасом или там шадоумап-пассом, где сильно забит растеризатор и не так сильно - алу.

#11091
15:54, 17 апр 2024

HolyDel
> смысл асинк компьюта в том, чтобы нагрузить ядра вычислениями, пока занят растеризатор, например. Поэтому его обычно параллелят с з-препасом или там шадоумап-пассом, где сильно забит растеризатор и не так сильно - алу.
А...тогда понял, ок.

#11092
17:41, 17 апр 2024

HolyDel
Имел дело с асинками в анриле несколько лет назад ... В сабже было плачевно под амд

#11093
18:58, 17 апр 2024

Вопрос не совсем в тему, но всё же, а вот сколько обычно, в среднем, очень приближённо, в крутых ААА играх треугольников в сложных сценах на максимальной графике?
до 100к?
500к?
1млн?
10млн?
100млн?

#11094
19:13, 17 апр 2024

Как запустить два рендера паса параллельно? Пульнуть в разные очереди?
Хочу 2 разных типа геометрии рендерить параллельно, а затем смердживать вручную по g-buffer-ам по определённым правилам в файнал имадж.

Я ж правильно понимаю, что все дроу колы внутри одного рендер паса идут последовательно как не крути?

#11095
19:41, 17 апр 2024

https://cdn.wccftech.com/wp-content/uploads/2013/09/mpu_ryseMPU_i… 5-635x357.jpg
вот здесь ~1кк полигонов. Если отдалить камеру, чтоб всё влезло. Отключить бекфейс куллинг и т.д.

#11096
19:43, 17 апр 2024

fake.pdf
> вот здесь ~1кк полигонов
1кк == 1млн в смысле?

#11097
19:44, 17 апр 2024

dominator
да
ну тоесть 10 моделек мобил-качества по 65к это уже 650к. А тут явно модели по 200к полигонов.

#11098
21:06, 17 апр 2024

dominator
Рендер пассы выполняются последовательно, такое ограничение на обычное железо, только серверные могут параллелить. Так что смысла нет. Тем более в пределах одной queue family нет реального распараллеливания.

#11099
21:14, 17 апр 2024

dominator
> Вопрос не совсем в тему, но всё же, а вот сколько обычно, в среднем, очень приближённо, в крутых ААА играх треугольников в сложных сценах на максимальной графике?
Я думал полигоны сдулись после Нанита.

Страницы: 1739 740 741 742756 Следующая »
ПрограммированиеФорумГрафика