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

Diligent Engine - современная кросс-платформенная низкоуровневая графическая библиотека (7 стр)

Страницы: 13 4 5 6 7 8 Следующая »
#90
19:37, 26 мая 2019

PaulSh
Vulkan бэкенд при компиляции шейдеров не делает никаких оптимизаций, потому что делать это в рантайме очень долго. HLSL конвертится в SPIRV как написан. Оба примера почти ничего не делают на CPU и вся разница обослувлена исключительно GPU.
Предполагается, что приложения будут компилировать и оптимизировать шейдеры оффлайн.


#91
20:00, 26 мая 2019

assiduous
> Vulkan бэкенд при компиляции шейдеров не делает никаких оптимизаций
Я ставил самую агрессивную оптимизацию и на шейдерах с шейдертоя получал +1..2 фпс (52 против 50). Так что это не сильно влияет.
А вот неоптимальная расстановка барьеров может дать небольшое замедление. OpenGL от нвидии очень хорошо оптимизирован и обогнать его в однопоточном рендере на вулкане может быть не просто.

#92
20:32, 26 мая 2019

/A\
Согласен. Разница только в том, что OpenGL драйвер может делать оптимизации даже на o0 - никто не знает точно что происходит. В Vulkan бэкендне используется glslang, который транслирует код в SPIRV как есть. Оптимизации здесь могут сильно помочь.
Что касается барьеров, то я тоже полностью согласен. Только в GLTFViewer барьеров нет вообще - только обязательный семафор для swap chain.

#93
20:50, 26 мая 2019

assiduous
> В Vulkan бэкендне используется glslang, который транслирует код в SPIRV как есть.
Если установлены SPIRV-Tools, то там идет быстрый проход с оптимизациями.

Интересно что, когда наводишь курсор на UI, то фпс сразу падает на 25%. А дх12 постоянно с vsync запускается.

#94
20:58, 26 мая 2019

/A\
Да, я совсем забыл. UI ужасно медленный (нет времени его переделать - все хочу его на imgui заменить). Если свернуть UI, то все гораздо быстрее будет работать.

#95
21:31, 26 мая 2019

assiduous
> UI ужасно медленный
Впервые вижу чтоб каждый треугольник рисовали в отдельном рендер пассе))
И странно, что в OpenGL такое не оптимизируется.

#96
4:56, 27 мая 2019

PaulSh
Можешь ради эксперимента со свернутым UI померить?

#97
5:00, 27 мая 2019

/A\
Я в свое время ничего кроме этой библиотеки не нашел. Она уже много лет не обновляется и на современные API очень плохо ложится.

#98
8:43, 27 мая 2019

assiduous
Попробовал включить оптимизацию шейдеров и результат не поменялся вообще.
Зато отключение слоев валидации сразу ускорило в 2 раза, похоже там все в цпу упирается.
Теперь 270фпс на вулкан и 150фпс на огл.
А RenderDoc показывает 18мс как общее время кадра на вулкан и 1.8мс на дх12, теперь я ему вообще не доверяю)

#99
9:02, 27 мая 2019

в моём рендере слои валидации замедляют рендер(cpu-часть) примерно раз в 5, лол.

#100
13:28, 27 мая 2019

Да, слои валидации тормозят жесть как, мельком  глянул в код, там постоянноо что то ищется, записывается. 

#101
(Правка: 18:59) 18:58, 27 мая 2019

/A\
> Зато отключение слоев валидации сразу ускорило в 2 раза
Слои валидации должны быть отключены в релизе. Ты ведь релиз мерил?

#102
(Правка: 19:06) 19:02, 27 мая 2019

assiduous
> Ты ведь релиз мерил?
нет)

надо бы отдельно мерить время рендера и время цпу, а то не сразу понятно что тормозит

#103
19:04, 27 мая 2019

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

#104
19:06, 27 мая 2019

/A\
> нет)
Ая-я-яй. Дебаг билд в разы медленнее релиза потому что он кучу всего проверяет.

Страницы: 13 4 5 6 7 8 Следующая »
ПрограммированиеФорумГрафика