Тема: C#
Показать сообщение отдельно
Старый 20.08.2012, 22:32   #84
От заката до рассвета
 
Аватар для $finX
 
Регистрация: 10.06.2009
Адрес: Тюмень
Сообщений: 120
Репутация: 50 [+/-]
ребятушки. я парюсь с xna. с 3d. проблема - программа тормозит. УЖАСНО тормозит. я, в общем-то, сам виноват. но проблема от этого не исчезает.

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

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

но полигонов-то столько-же получается! то есть критично количество моделей, а не полигональность. ибо сто моделек по десять полигонов на порядок медленнее, чем десять моделей по сто полигонов.

дак вот. каждую модель я визуализирую отдельным вызовом
Цитата:
BasicEffect effect.EnableDefaultLighting();
вопрос - как делать по-другому? то есть чтоб набрать, например, много одинаковых моделек и все их скопом отрисовать? или полигонами в массив какой запихать и оттуда рисовать (правда, тут с текстурами будет неслабый геморрой). или ещё как. как подскажите?

вопрос глобальный - как сделать так, чтоб не тормозило?
__________________
— Я пью горячий шоколад только в месяцах, где присутствует буква Р.
— Почему?
— Ну. Жизнь без капризов — это не жизнь.

— Все становится лучше, когда есть Bluetooth.

— В этом мире полно бездомных, грязных носков.
— В моем мире нет. (с) ТБВ
$finX вне форума  
Ответить с цитированием