Модераторы: Rickert
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Число текстур в объетке, Влияет на производительность 
:(
    Опции темы
EgoBrain
Дата 26.2.2009, 12:31 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 537
Регистрация: 23.3.2008
Где: Комната

Репутация: 1
Всего: 2



Вопрос по теории: если объекту  имеющему много материалов/текстур (meshMaterials[]/meshTextures[] - хранятся в массивах) задать каждой текстуре один и тот же файл (некоторый jpg)
Код

for(int i = 0; i < meshTextures.Length; i++)
{
    meshTextures[i] = TextureLoader.FromFile(device, @"некоторый jpg");
}
, то Direct CLR будет в памяти хранить для каждой текстуры отдельный экземпляр файла или для всех один, то есть есть ли разница между заданием каждой текстуре объекта один и тот же файл и заданием каждой текстуре разные файлы?
Вообще откуда взялся такой вопрос, сегодня заметил что если такому объекту с множеством материалов задать весомую текстуру (чуть меньше метра), то сцена "тупить" начинает, а потом понял что это на самом деле в совокупности с х6 сглаживанием тупило, убрал сглаживание - не тупит. Вообщето сразу оговорюсь что моя прога с множеством объектов с текстурами не тупит при 6х и 1600х1200 (объекты по нескольку мегайбайт весят), но когда добавляю объект скажем с 20 текстурами, то сразу тупить начинает со сглаживанием...
PM MAIL ICQ Skype   Вверх
ShellRaiser
Дата 26.2.2009, 13:15 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


еще чуть и закоммичу
*


Профиль
Группа: Участник
Сообщений: 156
Регистрация: 20.7.2007
Где: Белaрусь, Гродно

Репутация: 1
Всего: 1



ууу...я как понимаю ты транжириш память текстурами "налево-направо"?
просто не загружай заново текстуры, если такие текстуры где-то уже есть то просто используй их...экономия;)
тоже самое и с моделями...если у тебя два одинаковых динозавра на сцене то не надо грузить каждому модель...достаточно загрузить одну модель и два раза отрендрить;)
PM MAIL ICQ Skype   Вверх
EgoBrain
Дата 27.2.2009, 04:17 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 537
Регистрация: 23.3.2008
Где: Комната

Репутация: 1
Всего: 2



Цитата(ShellRaiser @ 26.2.2009,  13:15)
ууу...я как понимаю ты транжириш память текстурами "налево-направо"?
просто не загружай заново текстуры, если такие текстуры где-то уже есть то просто используй их...экономия;)
тоже самое и с моделями...если у тебя два одинаковых динозавра на сцене то не надо грузить каждому модель...достаточно загрузить одну модель и два раза отрендрить;)

По поводу моделей я не подумал, а вот по части текстур то же такая идея была - проверять в массиве текстур,  если есть одни и те же, то оставить одну, остальные обнулить, а при рендеренге просто один о тот же элемент массива текстур отображать... А вообще я пока не планировал браться за оптимизацию проекта брать, так как это дипломка, хотя там работы оптимизатору непочатый край.
PM MAIL ICQ Skype   Вверх
ShellRaiser
Дата 27.2.2009, 10:50 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


еще чуть и закоммичу
*


Профиль
Группа: Участник
Сообщений: 156
Регистрация: 20.7.2007
Где: Белaрусь, Гродно

Репутация: 1
Всего: 1



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

это всё очень просто делается, ты можеш загнать в мап массив текстур которые тебе надо под примерным ключём:

map.put("monsterA_texture_head", new Texture("data\texture\monsterA\texture_head.png"));

а далее просто дёргаеш когда при рендре биндиш: map.get("monsterA_texture_head"); получиш объект текстуры, и спокойно его забиндиш.
но на самом деле ты не будеш юзать прямы названия) они у тебя далее по двигу динамически будут генериться.

это пример кода на java но думаю на плюсах ты найдёш в стл кажись похожую реализацию.

Добавлено через 4 минуты и 46 секунд
Цитата(EgoBrain @  27.2.2009,  04:17 Найти цитируемый пост)
А вообще я пока не планировал браться за оптимизацию проекта брать, так как это дипломка, хотя там работы оптимизатору непочатый край.

ну...гхм....мне сильно пришлось браться в дипломке за оптимизацию....так как на политеховский компах стояли GeForce 2 и были жуткие тормоза, такак яч неучёл с самого начала и сделал приоритет на рендер....
PM MAIL ICQ Skype   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Программирование игр, графики и искуственного интеллекта"
Rickert

НА ЗЛОБУ ДНЯ: Дорогие посетители, прошу обратить внимание что новые темы касающиеся новых вопросов создаются кнопкой "Новая тема" а не "Ответить"! Любые оффтопиковые вопросы, заданные в текущих тематических темах будут удалены а их авторы, при рецедиве, забанены.

  • Литературу, связанную с программированием графики, обсуждаем здесь
  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Вопросы связанные с программированием графики и мультимедии на языках С++ и Delphi
  • Вопросы по реализации алгоритмов рассматриваются здесь

Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Rickert.

 
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Программирование игр, графики и искусственного интеллекта | Следующая тема »


 




[ Время генерации скрипта: 0.0638 ]   [ Использовано запросов: 20 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.