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

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

Страницы: 14 5 6 7 8 Следующая »
#60
0:08, 22 апр. 2019

assiduous
> Это вопрос?

ну да


#61
0:10, 22 апр. 2019

innuendo
> ну да
Ну тогда ответ: да :) На мой взгляд, они гораздо удобнее, чем в Vulkan.

#62
0:36, 22 апр. 2019

assiduous
> На мой взгляд, они гораздо удобнее, чем в Vulkan.

ну да, в dx нету же семафоров и ивентов (которые не от винапи)

#63
(Правка: 13:23) 13:17, 26 апр. 2019

Почему пример "Asteroids" в окне DX12, 970GTX ( практически такого же размера как и 1920 * 1080 ) работает на 250 FPS , а на полный экран 183 FPS ?

Кстати, оригинальный проект работает на 320 FPS в таком же окне ~1920 * 1080 .  ( 183 FPS на полный экран )

#64
(Правка: 17:48) 17:46, 26 апр. 2019

bykabak
> Почему пример "Asteroids" в окне DX12, 970GTX ( практически такого же размера
> как и 1920 * 1080 ) работает на 250 FPS , а на полный экран 183 FPS ?

Да, действительно, у меня тоже есть разница, но не такая большая. Vulkan, кстати, на полном окне работает немного быстрее. Честно говоря, не знаю в чем дело. Полноэкранный режим на самом деле не настоящий полноэкранный режим а просто окно без бортика размером во весь экран.

> Кстати, оригинальный проект работает на 320 FPS в таком же окне ~1920 * 1080 . 
> ( 183 FPS на полный экран )

Diligent вариант по-другому реализован. Оригинальный проект привязывает все текстуры как один большой массив и динамически индексирует их в шейдере. В Diligent текстуры привязываются для каждого отдельного объекта. Оригинальный метод тоже можно реализовать в Diligent, и он будет работать точно так же, как и ориганальный, но постоянно переключать текстуры интереснее с точки зрения стресс теста.

#65
22:55, 26 апр. 2019

Обычно в полный экран 3D работают быстрее, чем в окне.  Может DX12 в окне быстрее работает. ( просто любопытно )

#66
17:38, 27 апр. 2019

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

#67
19:01, 27 апр. 2019

assiduous

PushConstants не иcпользуются - и всё это Dx12 style

#68
19:15, 27 апр. 2019

BingoBongo
А кто тебе сказал, что это графический движок? Это "низкоуровневая графическая библиотека" - как написано в заголовке темы.

#69
20:15, 27 апр. 2019

innuendo
> PushConstants не иcпользуются
можно обойтись и без них

#70
20:19, 27 апр. 2019

PushConstants - удобная вещь. Я думаю, как их можно было бы добавить в общий API. Но без них действительно можно обойтись без особого ущерба.

#71
20:31, 27 апр. 2019

Vlad2001_MFS
> А кто тебе сказал, что это графический движок?
Папка GraphicsEngine в исходниках

#72
20:41, 27 апр. 2019

assiduous
А почему мипмэпы генерятся в компьют шейдере?
У меня на нвидиа на фрагментном шейдере или на блите получалось раза в 2 быстрее.
Но тут сложный выбор: позволить другим задачам выполняться паралельно с компьют шейдером и остаться без сжатия текстур, либо уменьшить нагрузку на память, но заблокировать все ядра из-за рисования.

#73
21:55, 27 апр. 2019

/A\
> А почему мипмэпы генерятся в компьют шейдере?
Компют шейдер генерирует сразу 4 мип уровня и корректно обрабатывает текстуры нечетного размера.  Блит всегда применяет билинейную фильтрацию по 4 ближайшим сэмплам: https://www.khronos.org/registry/vulkan/specs/1.0/html/vkspec.htm… kCmdBlitImage
На практике разница почти наверняка не будет заметна, но все же так более корректо.
Я, честно говоря, не сравнивал производительность блита с компьют шейдерами. Кроме того, SRGB текстуры  всегда обрабатываются блитом, потому что их в Вулкане нельзя в компьют-шейдере использовать.

#74
22:35, 27 апр. 2019

assiduous
> На практике разница почти наверняка не будет заметна, но все же так более корректо.
Ну вот я сравнивал генерацию до 5 мип уровней за один проход на компьют шейдере и другие способы, получалось в 1.5-3 раза медленее.

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