Предыдущая тема :: Следующая тема |
Автор |
Сообщение |
newart
Зарегистрирован: 01.01.2015 Сообщения: 3
|
Добавлено: Ср Мар 18, 2015 10:56 Заголовок сообщения: Динамические текстуры тормозят |
|
|
Имею на сцене несколько десятков кубов. У каждого своя текстура. Скажем 256х256. Каждый кадр обновляю ее. В 60fps укладывается что то около десятка кубов, дальше ощутимо проседает.
Использую OGRE 3D, но думаю дело не в нем.
С чем это вообще может быть связано? C тем что я на долгое время лочу текстуры?
Не замерял, но уверен что рисование в текстуры занимает очень малую часть времени от 1/60 секунды. |
|
Вернуться к началу |
|
 |
BiTL DOS lover

Зарегистрирован: 22.09.2007 Сообщения: 2950
|
Добавлено: Ср Мар 18, 2015 11:24 Заголовок сообщения: |
|
|
зависит от того - как ты это делаешь. Может они у тебя гоняются под шине (GPU <-> MEM)? Тогда может тормозить, так как это не совсем вписывается в парадигму (всё должно рендериться внутри видеокарты). |
|
Вернуться к началу |
|
 |
newart
Зарегистрирован: 01.01.2015 Сообщения: 3
|
Добавлено: Ср Мар 18, 2015 13:04 Заголовок сообщения: |
|
|
На сколько я понимаю происходит нечто подобное:
http://www.ogre3d.org/tikiwiki/tiki-index.php?page=Creating+dynamic+textures
А есть какой-то способ закачивать в видяху массив и обрабатывать его шейдером при отрисовке в текстуру?
Просто у меня изначальные данные занимают гораздо меньше места чем готовая текстура. 200-300кб за кадр. |
|
Вернуться к началу |
|
 |
BiTL DOS lover

Зарегистрирован: 22.09.2007 Сообщения: 2950
|
Добавлено: Ср Мар 18, 2015 16:45 Заголовок сообщения: |
|
|
Я этот фрэймворк не знаю, но мне кажется что это действительно копирование текстуры в ОЗУ, софтварная (на CPU) обработка, а потом возвращение обратно в текстуру на GPU. Если это так, то будет тормозить (если много текстур за кадр таким образом гонять). Потому что так делать ненадо.
Цитата: |
А есть какой-то способ закачивать в видяху массив и обрабатывать его шейдером при отрисовке в текстуру?
|
Ну, шейдеры для этого какбе и существуют Чтобы весь рендер осуществлялся на конвеере GPU. Тогда будет всё супер-быстро. |
|
Вернуться к началу |
|
 |
f0x

Зарегистрирован: 23.09.2007 Сообщения: 498
|
Добавлено: Чт Мар 19, 2015 11:34 Заголовок сообщения: |
|
|
тут три проблемы: 1) CPU - ты просто уперся в производительность на генерации. Оно еще и однопоточно же, скорее всего?)) 2) трансфер на видяху. сколько жрет - не скажу, но шина узкая - это факт. 3)простой GPU во время рендера текстур на процессоре. Тут профилировать надо жестко.
Итого, не мучай лошадь, пристрели, и делай все на видяхе шейдером. Причем лучше прямо на рендере куба - еще и на выборках сэкономишь.
Насчет закачки массива - если немного, можно констант-тейблами, если поболе - через текстуру. Там еще от shader model зависит, я толком не помню ограничений, надеюсь камрады поправят. _________________ кто сделал демку тот и выиграл (с) uncle night (?) |
|
Вернуться к началу |
|
 |
|