www.demoscene.ruenglish version
 FAQFAQ   ПоискПоиск   ПользователиПользователи   ГруппыГруппы   РегистрацияРегистрация   ПрофильПрофиль   Войти и проверить личные сообщенияВойти и проверить личные сообщения   ВходВход 
Динамические текстуры тормозят

 
Начать новую тему   Ответить на тему    Список форумов DemoScene.Ru -> Программирование
Предыдущая тема :: Следующая тема  
Автор Сообщение
newart



Зарегистрирован: 01.01.2015
Сообщения: 3


СообщениеДобавлено: Ср Мар 18, 2015 10:56    Заголовок сообщения: Динамические текстуры тормозят Ответить с цитатой

Имею на сцене несколько десятков кубов. У каждого своя текстура. Скажем 256х256. Каждый кадр обновляю ее. В 60fps укладывается что то около десятка кубов, дальше ощутимо проседает.

Использую OGRE 3D, но думаю дело не в нем.

С чем это вообще может быть связано? C тем что я на долгое время лочу текстуры?

Не замерял, но уверен что рисование в текстуры занимает очень малую часть времени от 1/60 секунды.
Вернуться к началу
Посмотреть профиль Отправить личное сообщение
BiTL
DOS lover


Зарегистрирован: 22.09.2007
Сообщения: 2946


СообщениеДобавлено: Ср Мар 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
Сообщения: 2946


СообщениеДобавлено: Ср Мар 18, 2015 16:45    Заголовок сообщения: Ответить с цитатой

newart писал(а):
На сколько я понимаю происходит нечто подобное:

http://www.ogre3d.org/tikiwiki/tiki-index.php?page=Creating+dynamic+textures


Я этот фрэймворк не знаю, но мне кажется что это действительно копирование текстуры в ОЗУ, софтварная (на CPU) обработка, а потом возвращение обратно в текстуру на GPU. Если это так, то будет тормозить (если много текстур за кадр таким образом гонять). Потому что так делать ненадо.

Цитата:

А есть какой-то способ закачивать в видяху массив и обрабатывать его шейдером при отрисовке в текстуру?


Ну, шейдеры для этого какбе и существуют Smile Чтобы весь рендер осуществлялся на конвеере GPU. Тогда будет всё супер-быстро.
Вернуться к началу
Посмотреть профиль Отправить личное сообщение
f0x



Зарегистрирован: 23.09.2007
Сообщения: 498


СообщениеДобавлено: Чт Мар 19, 2015 11:34    Заголовок сообщения: Ответить с цитатой

тут три проблемы: 1) CPU - ты просто уперся в производительность на генерации. Оно еще и однопоточно же, скорее всего?)) 2) трансфер на видяху. сколько жрет - не скажу, но шина узкая - это факт. 3)простой GPU во время рендера текстур на процессоре. Тут профилировать надо жестко.

Итого, не мучай лошадь, пристрели, и делай все на видяхе шейдером. Причем лучше прямо на рендере куба - еще и на выборках сэкономишь.
Насчет закачки массива - если немного, можно констант-тейблами, если поболе - через текстуру. Там еще от shader model зависит, я толком не помню ограничений, надеюсь камрады поправят.
_________________
кто сделал демку тот и выигралSmile (с) uncle night (?)
Вернуться к началу
Посмотреть профиль Отправить личное сообщение Посетить сайт автора
Показать сообщения:   
Начать новую тему   Ответить на тему    Список форумов DemoScene.Ru -> Программирование Часовой пояс: GMT + 3
Страница 1 из 1

 
Перейти:  
Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете голосовать в опросах