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

Потестите шейдерный движок, плиз. (2 стр)

Страницы: 1 2 3 Следующая »
#15
16:18, 3 дек. 2016

barnes
> Это шутка юмора такая?
>
Ну чо, выжал все соки из железа, написано же.


#16
16:44, 3 дек. 2016

innuendo
> окно по умолчанию  - 30-33fps
> Это шутка юмора такая?

Выше я уже писал "у меня стоит жесткая синхронизация от v-sync". Значит твой монитор имеет 30 фпс. На тяжелом шейдере может давать и ниже, так что ничего удивительного.

bykabak
>При нажатии Preset , Edit - выводится такое же окно как я выложил выше. :(

Ага. Это я движок пересобрал, а редактор забыл. Придется опать обновить. Спасибо за инфу!

> Удалось что-то изменить на сцене... не понятно как.  В чём  польза от проекта ?

Я уже писал выше по ветке : "Дело в том, что пресеты не делались специально под этот движок, и там просто не предусмотрено управление (как я сказал, я просто надергал их из shadertoy).  Когда я отлажу программу я буду писать шейдера специально под движок, тогда все будет работать как надо."

Che@ter
> Тоесть я так понял, что это было нормальным поведением для данной демки?

Это даже не демка, это тест-пример.

#17
17:56, 3 дек. 2016

bykabak
> При нажатии Preset , Edit - выводится такое же окно как я выложил выше

Пересобрал редактор, попробуй сейчас. При нажатии Preset->Edit должен открыться редактор. Там можно посмотреть код шейдера, поправить и скомпилировать. Если есть ошибки - курсор встанет на соответствующую строку. Когда компиляция пройдет нормально, окно нужно просто закрыть, тогда движок загрузит шейдер и начнет его показывать.

Теперь про кнопку Preset->Create:
при нажатии откроется окошко с клавиатурой (для мышки), но можно просто ввести имя пресета со своей клавиатуры. Потом кликнуть на Create - запустится ПРЕСЕТ ПО УМОЛЧАНИЮ (просто что-бы не показывать пустой экран). Тогда уже с помощью Edit его можно превратить в то, что вам нужно, отредактировав код.

#18
20:17, 3 дек. 2016

san
> Выше я уже писал "у меня стоит жесткая синхронизация от v-sync". Значит твой
> монитор имеет 30 фпс.
Таких на рынке нет.

#19
21:01, 3 дек. 2016

ArchiDevil
> > монитор имеет 30 фпс.
> Таких на рынке нет.
Ну почему нет - у меня например стоит Samsung TV JU6700, без адаптера DP/HDMI2 он дает как раз 30 герц.

#20
23:46, 3 дек. 2016

Убрал синхронизацию основного рендера. Теперь будет показывать реальную скорость. Когда я говорил об "выжимании соков", я имел ввиду вот это:

GPUview: Шейдерный движок

Это график работы самого тяжелого шейдера (SnowMount), он у меня выполняется 64 мс.
Первая линейка - основной рендер, видно что он грузит карту практически все время (за исключением гапа в 2мс для выполнения шейдера и обмена данными с GUI).
Третья линейка - загрузка второго адаптера (GUI). Видно, что он запущен в отдельном треде, честно отрабатывает каждый фрейм и не мешает рендеру.

#21
12:00, 4 дек. 2016

Intel core I5 (4 CPU)
RAM 6GB
GF GT 720

~9 FPS

#22
16:57, 4 дек. 2016

san
На неизменном пресете 160-180 фпс.

#23
22:46, 4 дек. 2016

dds
> GF GT 720
> ~9 FPS

Вот это странно.... Это на пресете WebLattice такое творится?
Это больше похоже на работу встроенной карты.  А если удалить файл  ~AppData\Roaming\SanBaseStudio\Shader Engine\Adapters.ini  и запустить программу, то GT720 стоит на первом месте?

У меня на встроенном интеле (не знаю что там стоит) дает примерно такую же скорость, но в GT720 192 кора, должно бы быть быстрее.

#24
4:30, 5 дек. 2016

san
А это что?
gpuWait | Потестите шейдерный движок, плиз.
p.s. Семпл не смотрел, но там Full Screen Quad небось рисуется? Если да, то не понятен профит от DX12

#25
6:42, 5 дек. 2016

MrShoor
> А это что?

Это GUI рисует кучу кнопочек, строит график изменения параметров, обновляет надписи и т.д. Все делает одним чохом.

> Full Screen Quad небось рисуется? Если да, то не понятен профит от DX12

Там на самом деле далеко не один квад. Перед тем, как рисовать квад, обновляются 40 текстур 1024х1024 из которых составлются 5 текстур размером 8192х1024 и для них формируются 6 уровней mip map'ов. Это куча шейдеров на каждый фрейм.  Потом уже запускается основной шейдер. Причем рендеринг может быть многопроходный, т.е. уже не один квад а несколько, с разными шейдерами.  Если делать это на DX11, то между запуском каждого шейдера получается гап, GPU каждый раз ждет CPU. Суммарно только на этом накисает изрядно (с деферед контекстом будет не лучше, там получается полная фигня при передаче параметров через статик буфер). Как можно заметить, в случае DX12 GPU работает без промежутков, т.е используется на 100%. Думаю эффективность на нетяжелых шейдерах поднимается раза в полтора. На тяжелых (когда шейдер выполняется дольше 30 мс) выигрыш будет не столь значительным, но все равно все работает веселее.

#26
6:50, 5 дек. 2016

san
> Причем рендеринг может быть многопроходный, т.е. уже не один квад а несколько,
> с разными шейдерами. Если делать это на DX11, то между запуском каждого
> шейдера получается гап, GPU каждый раз ждет CPU.
Даже если статик бранчингом разруливать код фрагментного шейдера?

#27
6:58, 5 дек. 2016

Это же не аппликация а движок. Шейдера могут быть любыми и их количество тоже. Что ты сможешь "разрулить" бранчингом, да еще в шейдере?

#28
7:24, 5 дек. 2016

san
> Это же не аппликация а движок. Шейдера могут быть любыми и их количество тоже.
> Что ты сможешь "разрулить" бранчингом, да еще в шейдере?
Я так понял шейдера отличаются только фрагментным шейдером? И инпут во фрагментный одинаковый?

#29
8:25, 5 дек. 2016

MrShoor
> Я так понял шейдера отличаются только фрагментным шейдером? И инпут во фрагментный одинаковый?

О каких шейдерах идет речь? Тут все сделано на шейдерах, причем разных. Весь GUI на компьют шейдерах, пресеты могут быть как на PSO так и на компьютах, это как разработчик захочет. Поскольку примеры я брал с shadertoy, то там используются фрагментные шейдера, но сам я предпочитаю писать на компьютах. Ты посмотри на исходники, тогда все будет понятно.

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

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