Что использовать для оптимизации?

Раздел, посвящённый самому важному - скорости.

Что использовать для оптимизации?

Сообщение gnoblin 10 июл 2009, 14:52

Вот допустим завершена первая рабочая версия проекта.

Какими инструментами вообще можно пользоваться для оптимизации\нахождения узких мест в игре?

На что стоит обратить внимание?

и тд :-w
skypeid: madkust
Мои крайние проекты:
Убойный Хоккей
Cube Day Z (альфа)
Аватара пользователя
gnoblin
Адепт
 
Сообщения: 4633
Зарегистрирован: 08 окт 2008, 17:23
Откуда: Минск, Беларусь
Skype: madkust
  • Сайт

Re: Что использовать для оптимизации?

Сообщение iqubik 18 авг 2009, 06:45

gnoblin писал(а):Вот допустим завершена первая рабочая версия проекта.

Какими инструментами вообще можно пользоваться для оптимизации\нахождения узких мест в игре?

На что стоит обратить внимание?

и тд :-w


Вопрос наверное скорее риторический и к сообществу, но попробую поделиться мыслями.
Из того что я пока понял следует:
1. Обратить внимание и протестить все коллайдеры(которые конечно сделаны отдельно и по мега упрощённым схемам) ибо ошибка в коллайдере выдёт к падению приложения. В случае браузерной гамы - краху браузера. И вообще всей системы.....(системы - шутка, а вот лиса и опера дружненько так упали)
2. Чтобы не дуплить материалы(а их дуплить вообще не стоит ибо драу калс растет сразу и на всегда), видимо, следует в максе использовать мегамультиматериал для абсолютно всех объектов сцены, он вроде бы меньше создаёт персональных материалов, ну а если юнити и насоздаёт персональных материалов, их всегда можно по быстрому переназначить на один ваш.
3. использовать скрипт из острова демки(что с проектом) combinechildrens. В случае мультиматериального текстуринга он разрывает объекты на куски по материалам и эти куски склеивает мужду собой(дерево к дереву, прах к праху) ===>>>> количество драу калл падает.
ПРимер - 50 чайников типа max teapot (~950poly) на каждом по 30 активных материалов. Для них используется один мегамультимат из 30 позиций.
Экспорт в юнити - драу калл = 50*30=1500... при 47 килополи.

Делаем нью ГО в юнити и туда наши чайники, а на ГО - комбайнчилдрен скрипт.
Драу калл = всего 30, 47килополи.

Итог: драу калл упал в 50 раз. Но объекты очень хитро порубились, и такая оптимизация пойдёт только для статичных объектов.
И есть оч существенное ограничение - в родителе может быть объектов до 65килополи. Иначе глюки((( Объекты начинают забывать свою геометрию, тут пол пропал, тут мышку вывернул(на сыр от увиденного)
4. в юнити-доке(том что частично русифицирован http://docs.unity3d.ru/) есть оч интересный раздел по оптимизации и если кратко то:
я. количество поликов в сцене для видях новее чем fx5200 не такой уж критичный показатель, но
а. на один объект желательно не боле 2-3килополи
б. Вроде бы есть какая то заморочка с дублирующимися нормалями, чтото с группами сглаживания связано. Мол если у вас весь объект гладкий а тут один полик без сглаживания - то это не айс, мол нормали будут пересекаться и объект будут сложнее просчитать.
в.если вы хотите чтобы ваш проект пошёл на интеловских встроенных видяхах(аля еееПИСИ) то извольте не более 25килополи в сцену, ибо на встроенной графике процессор обрабатывает положения вершин. И ни каких пиксельлайтов.
г. НИкаких пиксельлайтов. Никакого нормалбампа, спекуляров и прочих прелестей. А если уж решились, то или думайте как оптимизировать или пеняйте на себя. Ибо мы вам ГОВОРИЛИ - лайтмапы, только на кишку и с молитвой.(автор не пропагандирует такой суровый способ безцельного проведения времени)
Кстати есть мысль - ежели мне надо чтобы бамп был только на полу, дык почему бы мне свет и пол не перенести на отдельный слой, так сказать устроить им очную ставку.
д. Аtтачить и ещё раз аtтачить. Если оно может быть приатачено, то оно должно быть приаtтачено.
(max->edit poly->attach)
е. Использовать лоды. Ну или если не в прямом смысле лоды то хотя бы скрывать на лету не нужное. Вот вы в здании, зашли в кабинет, там парты, столы, компы. Подошли к стене и словили тормоза. Откуда? Ведь на стене всего лишь табличка -"Ученье свет, а неученье - чуть свет и на работу". Неужели комп так призадумался над этой фразой.
Ан нет, за стеной у вас 5 классов, 4 этажа, растительность. И всё это считается.....
В идеале: Подошли к двери аудитории - затронули коллайдер в режиме триггера, он вам подгрузил то что надо в кабинетеи открыл дверь. На обратном пути отгрузил и закрыл.
ж. 9 макс -ацтой...
Уточнение - для лайтмапов.
Дело в том что начиная с 2008 макса появилась возможность работать с мультиЮВИкоорданатами.
Это значит что можно сформировать лайтмапу для всего этажа(стены, полотки, столы, доски, степлеры и тддддд.....). Вы только представте как приятно будет её накидывать. Чуть ли не даблкликом. Как компутеру будет легко с ней работать, не тебе там лишнихз файловых операций, не лишних метасвязей, и как вы будете ругаться когда чтото на этой лайтмапе закосячит или зОхотите переделать :) (не всё так страшно - вопрос решаемый)
з. когда будуте делать развёртки объектов, позаботтесь о компутере, не делайте слишком много разрезанных кусков - представте каждый раз компу высчитывать куда какой кусок лепить. Меньше кусков унврапа - меньше пустой рутины для компа и больше той же самой рутины для вас. Так что ститчите(stitch) ювивишки на здоровье юзеров.
----------------------
qub edition
Идеальное общество это общество где каждый станет настолько эгоистом, что начнёт понимать, что делая недоброе другому получит тоже в ответ. (око за око, с прощением)
iqubik
UNIт
 
Сообщения: 74
Зарегистрирован: 11 июн 2009, 13:38
Откуда: Stavropol
  • Сайт
  • ICQ

Re: Что использовать для оптимизации?

Сообщение Vsadnik 18 авг 2009, 21:30

+5
(3A4OT)
Не просят - не делай, можешь только предложить...
официальный русский представитель Black Cable Team
Аватара пользователя
Vsadnik
UNIт
 
Сообщения: 142
Зарегистрирован: 21 июл 2009, 22:22

Re: Что использовать для оптимизации?

Сообщение Komizart 04 июл 2010, 23:40

яд! [nuklear] (3A4OT)
перелезаю с Flash на Unity!
Аватара пользователя
Komizart
UNец
 
Сообщения: 4
Зарегистрирован: 19 июн 2010, 20:06

Re: Что использовать для оптимизации?

Сообщение WebWolf 16 июл 2010, 19:51

V blog takoe zapostit' bilo bi polezno... :)
WTF? _WolfGames3D.com / Все в Tanks Heroes Вконтакте!
Аватара пользователя
WebWolf
Старожил
 
Сообщения: 532
Зарегистрирован: 19 дек 2009, 15:49
Откуда: Russian Federation
  • Сайт
  • ICQ


Вернуться в Оптимизация

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 6