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

Быстрейший способ перерисовки экрана попиксельно (3 стр)

Страницы: 1 2 3
#30
12:38, 8 дек. 2015

k119_55524

Автору топика - пора уже начинать в студии в кнопки тыкать, вопросы сами рассосутся    :)

Я в Builder'е работаю, а не в студии.)
И прежде чем тыкать, нужно прочитать, как compute shader писать.
И решить на чем остановиться. Не могу же я со всеми вариантами экспериментировать.

#31
12:47, 8 дек. 2015

u960

А чем не устраивает способ которым сейчас пользуетесь(Блокировка поверхности и проход в цикле)?
Сильно проседает?

Даже без расчета освещения просто расчет лучей и текстурирование дают всего 40-50 FPS при выполнении восемью параллельными потоками на i7. И то, еще пола нет, только вертикальные плоскости — не всегда весь экран просчитывается.
А на i5 будет где-нибудь вдвое медленнее.
Да еще и какая-то проблема при запуске программы на Win 10 — не ставит нужное разрешение, а выводит в прямоугольную область экрана.

Правда, не все еще оптимизированно, но значительно увеличить вряд ли получится. А кроме освещения нужно еще лучи вглубь рельефных объектов просчитывать.
Так что, нужна более высокая скорость.
GPU стоит без дела, а CPU загружен на все доступные потоки. А ведь еще нужно будет делать стримминг ландшафта и неграфические части игры.

#32
14:25, 8 дек. 2015

Ciaphas
> Даже без расчета освещения просто расчет лучей и текстурирование дают всего
> 40-50 FPS при выполнении восемью параллельными потоками на i7.
А сколько блокировок?
Вообще бы глянуть картинку, потому что очень странно, если у вас там не кризис, то CPU должен вытягивать.

#33
15:05, 8 дек. 2015

u960

А сколько блокировок?

Столько же сколько и ФПСов.
Для вывода каждого кадра поверхность блокируется только один раз, потом разблокируется.
И текстурная поверхность тоже блокируется/разблокируется вместе с ней.

#34
15:06, 8 дек. 2015

Mira
> В дх и огл нет же рейтрейсинга
Вы наверное имеете ввиду нигде нет аппаратного ускорения рэйтрасинга, не в дх, не в огл, не в других библиотеках.
И наверное имеете ввиду что все эти библиотеки используют один и тотже набор аппаратных возможностей(ускорений) который предоставляет драйвер(а драйвер по любому, так как библиотеки должны работать и на будущих карточках),
ну так я об этом и писал.  :)

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

И ещё, просьба не приводить примеры, типа а там так, а там так, так как(как мной уже написано) частностей много, и ..., короче пи.....(флудить) можно долго.

А если хочется готовый рэйтрейсер и чтобы не думать то 3дсмах самый раз  :)

#35
15:27, 8 дек. 2015

u960
Если убрать сам вывод кадра, то блокировки/разблокировки и некоторые предварительные расчеты пересечения лучей с верт. плоскостями дают ФПС в 180-200, а если направить камеру туда, где нет плоскостей, то и за 580 ФПС получить можно.

Страницы: 1 2 3
ПрограммированиеФорумГрафика

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