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

пиксельшейдер тормоз! [решено] (4 стр)

Страницы: 1 2 3 4
#45
22:01, 1 июня 2015

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

Ты front-to-back рисуешь? early z срабатывает?

#46
22:12, 1 июня 2015

вообще я проверил... а так стараюсь рисовать спереди назад непрозрачные. только в большинстве мест не канает. скажем я рендерю дом в котором нахожусь -
ну что я буду нарезать его на треугольники или разбивать на стены и сортировать) а так сам понимаеш не факт что стена которая перед тобой не нарисуется последней и закроет за ней мебель из соседней комнаты.
кароче есть овердрав все равно.

#47
22:24, 1 июня 2015

Mira
Ну тогда вариант - анализ depth complexity и принятие решения о том, делать ли зпасс, отдельно для каждого кластера/узла октрее/что ты там используешь.
Можно вполне посчитать эту информацию на этапе препроцессинга.

#48
22:52, 1 июня 2015

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

#49
23:16, 1 июня 2015

Овердрав можно относительно легко измерить с помощью стенсил-буфера. Правда, в D3D9 стенсил нельзя прочитать и приходится извращаться с визуализацией, а вот в OpenGL можно прочитать и сохранить в файл/вывести на экран в уголочке. Медленно, но для дебаг-целей годится. Пример можно посмотреть в Q3, поиск по "r_measureOverdraw".

#50
23:31, 1 июня 2015

можно и альфаблендингом обычным измерить - рисуешь еле видным цветом всё, в итоге где сильнее видно - там и овердравнее

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

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