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

OpenGL + 2-sided material = падение производительности в ~10-40 раз

Страницы: 1 2 Следующая »
#0
20:39, 18 авг. 2014

Искал сравнение производительности GeForce и Quadro и обнаружил здесь GPU performance: Nvidia Quadro vs Nvidia GeForce, что действительно имеется искусственное ограничение для GeForce.
При отрисовке большого количества полигонов и включении соответствующего режима:

glLightModelf(GL_LIGHT_MODEL_TWO_SIDE, GL_TRUE);
происходит заметное падение производительности (ранее до этого замечал что при выключении в CAD системе двусторонних материалов, например Siemens NX, заметно повышается скорость отрисовки крупных сборок).
Подобное ограничение обходится использованием шейдера.

Тестировалось на примере из статьи HSR-алгоритм: Рендеринг ландшафта на основе карты высот.
Измененный проект sample_two_sided (бинарник+проект VS2013)
Ctrl - включение/выключение двустороннего материала.
Отрисовывается примерно 2 млн. треугольников. FPS: 840 - без two-sided, 22 - с two-sided

Какие еще существуют подводные камни? Кто сталкивался с подобным?


#1
20:53, 18 авг. 2014

HumMan
Ни какой разницы не заметил. ФПС в районе 700.

#2
20:59, 18 авг. 2014

d.m.k
А видеокарта какая? Т.к. на радеонах такой проблемы не наблюдается.

#3
21:05, 18 авг. 2014

MSI cx-600 ноут проц Celeron Dual 1.8 Ghz radeon 4330 Directx 10
50 и 45 фпс

#4
21:05, 18 авг. 2014

Надо просто всё на шейдерах делать и не будет никаких проблем.

#5
21:10, 18 авг. 2014

HumMan
Да, R9 280x

#6
21:15, 18 авг. 2014

Обновил проект - добавил отображение использования 2-sided material, а то не понятно включено или нет

d.m.k
ronniko
Спасибо, видимо это только у GeForce такие проблемы.

gammaker
Согласен, в той статье предлагалось их использовать, просто впервые с этим столкнулся.

#7
21:20, 18 авг. 2014

HumMan
Ну собственно двухсторонние материалы и должны понижать производительность.
Чем тяжелее будет пиксельный шейдер, тем заметнее падение.
При условии конечно, что эта вторая сторона где-то есть на экране.
На ФФП оно может там какие и ограничения, но оно надо это ФФП?

#8
22:08, 18 авг. 2014
В 40 раз? Проще ту же модель со вторым материалом отдельно нарисовать, только режим отсечения сменить с CW на ССW или наоборот :DD Имхо, даже с 2 млн. треугольников до 22 фпс не упадёт =\

Хотя, зря смеялся. У меня с 330 падает до 8, GTX 460, печаль.

#9
22:14, 18 авг. 2014

belK@
> Проще ту же модель со вторым материалом отдельно нарисовать

Проще не юзать ФФП.

#10
22:16, 18 авг. 2014

Executor
> Проще не юзать ФФП.
Не могу не согласиться.

#11
22:18, 18 авг. 2014

GTX560 тоже падение до 8 фпс.

#12
22:49, 18 авг. 2014

ПЕЧ770
падает с 850 до 22

#13
23:14, 18 авг. 2014

HolyDel
Executor
belK@
Спасибо за замеры. Видимо, действительно где-то в драйвере происходит искусственное снижение производительности именно для этой команды (уж больно сильное падение).

#14
0:21, 19 авг. 2014

эм, как-то пользовался этой командой и не шибко она роняла производительность. Но проблема в том, что у меня на некоторых видяхах стандартное ОГЛовское освещение нормально пашет, а на некоторых бажит. Поэтому отказался от ффп давно.

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

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