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

Vertex attributes для shadow pass (3 стр)

Страницы: 1 2 3 4 Следующая »
#30
12:06, 12 дек. 2018

Dampire
> я не секу
именно


#31
12:08, 12 дек. 2018

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

Не ну, "у нас" все как раз как в #22. Вот прямо так. Геометрия забейкана в ворлд спейсе. Шаг влево, шаг вправо - жопа. Если внутрь цикла добавить установку одного юниформа, перформанс (именно сабмита батчей, т.е. CPU) на некотором говенном железе падает в 10 раз. Хотя казалось бы!

Т.е. можно долго говорить о мифическом AZDO, но там, где гл все еще актуален (старые могилки), половина функционала тупо не работает, несмотря на гордо заявленный GLES 3.2.

#32
12:34, 12 дек. 2018

Wraith

ты расскажи про нормальные апи … это про PS4 ?


> на некотором говенном железе падает в 10 раз


это проблемы GL или железа ?

#33
12:40, 12 дек. 2018

Wraith
> Непонятно только зачем при наличии всей этой радости цепляться за OpenGL.

а за что цепляться ?

#34
12:57, 12 дек. 2018

Wraith
> Если внутрь цикла добавить установку одного юниформа

который меняется каждый кадр ?

#35
13:46, 12 дек. 2018

Wraith
> Если внутрь цикла добавить установку одного юниформа, перформанс (именно сабмита батчей, т.е. CPU) на некотором говенном железе падает в 10 раз.
У меня внутри цикла стоит установка одного юниформа. Волосы мягкие и шелковистые. Даже на самом говеном лоуэнде семилетней давности боттлнек - филлрейт.

#36
13:48, 12 дек. 2018

Dampire
> аже на самом говеном лоуэнде семилетней давности боттлнек -

он про мобилки

#37
14:49, 12 дек. 2018

Wraith
> Т.е. можно долго говорить о мифическом AZDO

налицо какая-то попоболь

#38
15:12, 12 дек. 2018

Dampire

Если вао состоит из монолитного буфера

Ты просто поумничать пришёл, да?
У ТС все данные разбиты на отдельные блоки.
#39
15:21, 12 дек. 2018

Wraith

Пока рендеришь одним шейдером, одним стейтом, и одним форматом вершин, - действительно, все хорошо и прекрасно.

Ничё подобного.

У нас тут уже был тред: будет ли профит если рисовать робота в один дравколл, а анимировать его на костях?
Общим голосованием порешили что да, профит будет.
Я таки передалал на кости всё.
Профита нет =D
Меньше дравколов - это реальный плюс.
Т.е. FPS реально больше если всё в один кравколл рисовать.
Даже если шейдер один и тот же и никаких стейтов не меняется.
Но вот незадача - два дополнительных атрибута - массив индексов и весов у кости выдал минус по производительности.
Причём перекрывающий плюс от дравкола.

Текущие идеи как исправить положение:
объединить все буферы в один
минимизировать фрагментацию атрибутов
покурить доки про выравнивание данных в памяти для видеокарты

#40
15:57, 12 дек. 2018

f1ufx_
> Даже если шейдер один и тот же и никаких стейтов не меняется.
> Но вот незадача - два дополнительных атрибута - массив индексов и весов у кости
> выдал минус по производительности.
> Причём перекрывающий плюс от дравкола.
значит он чето не так сделал. не может быть такого.

#41
16:00, 12 дек. 2018

f1ufx_
> У ТС все данные разбиты на отдельные блоки.
Пруфанешь из какого поста ты это взял?

#42
16:04, 12 дек. 2018

ему там нужен был один индекс матрицы, так как модель без скиннинга. тупо рисовать за один дравкол и вершина должна иметь ссылку на свою матрицу.
а этот индекс можно было засунуть куда угодно 3м 4м компонентом, где он не задействован. это даже не повляло бы на Layout
главное чтоб инерполятор его незахерил) а хотя нахрен он ему в фрагментном шейдере

#43
16:16, 12 дек. 2018

f1ufx_

он про мобилки

#44
22:35, 12 дек. 2018

Ой, создал тему и забыл про нее))

innuendo
> всё остально работает максимально быстро ? :)
Все остальное это уже другой вопрос. Или это к тому, что я не то оптимизировать пытаюсь? :) Я просто решил уточнить этот вопрос.


0r@ngE
> А у вас один VB ? Или все атрибуты по разным VB лежат?
Да, один. Я даже не просто так подписал {PNT...}. Типа позиция, нормаль, ювешка, и т.д. Тогда встречный вопрос. Может стоит разделить на несколько, чтобы shadow pass был оптимизированнее?

Wraith
> В гл ничего не надо - слишком большой кост дро колла сведет на нет все
> "оптимизации".
В каком смысле "ничего не надо"? Нет смысла в этой "опримизации"? Да и я же этим не увеличиваю количество дроу колов.

Dimich
> Дык если всё в одном буфере, оно один хрен в кэш попадает.
Вот именно поэтому я и задумался.

Страницы: 1 2 3 4 Следующая »
ПрограммированиеФорумГрафика

Тема в архиве.