Рациональное использование ресурсов. Оптимизация
|
|
Vostrugin | Дата: Воскресенье, 28 Февраля 2016, 22:33 | Сообщение # 1 |
постоянный участник
Сейчас нет на сайте
| Добрый вечер. Уважаемые форумчане, поделитесь пожалуйста своим бесценным опытом. Делаю TDS, большую часть игрового времени игрок проводит на процедурно собранных тайловых островах (150х150, тайл 64 пикселя). 1) Первым слоем ложатся тайлы (22500 объектов). Четверть из этих объектов имеют BoxColider2D. (~5600). 2) Вторым слоем ложатся декорации с CircleColider2D (~1000). 3) Третьим слоем ложатся объекты с CircleColider2D+Rigidbody2D, с которыми можно взаимодействовать (~100). 4) Игрок CircleColider2D+Rigidbody2D. NPC CircleColider2D (~100). 5) Динамически создаваемые объекты, в основном, пока, это пули CircleColider2D+Rigidbody2D (~100). На выходе имеем около 7000 объектов с BoxColider2D на одной сцене. Для меня остаётся секретом почему всё это ещё не тормозит. Вопрос: как это можно оптимизировать и стоит ли? Допускаю, что можно выключать объекты не входящие в поле видимости - скажется ли это положительно на производительности? Возможно стоит переехать на матрицу проходимости, таким образом можно убрать коллайдеры у декораций и у тайлов? Спасибо.
|
|
| |
Tymonr | Дата: Воскресенье, 28 Февраля 2016, 22:54 | Сообщение # 2 |
With OpenSource forever♥
Сейчас нет на сайте
| Это не тормозит из-за того что это статика. Статике почти пофиг сколько ее, там все за тебя оптимизировали.
Со спрайтами и тайлами тоже давно все за тебя оптимизировали
Если вы решили обратиться к нам за помощью, не становитесь в позицию неудачника. И не ведите себя как неудачник. Лучший способ получить быстрый и чуткий ответ, - спрашивать как победитель — спрашивать как человек умный, уверенный в себе и знающий, которому просто понадобилась помощь при решении одной конкретной проблемы. Как правильно задавать вопросы в технических форумах
|
|
| |
seaman | Дата: Понедельник, 29 Февраля 2016, 00:17 | Сообщение # 3 |
старожил
Сейчас нет на сайте
| > Допускаю, что можно выключать объекты не входящие в поле видимости - скажется ли это положительно на производительности? Рендеринг отключается автоматом. Можно отключать коллайдеры, ригидбоди и скрипты (если в них прилично расчетов). Для этого удобно использовать OnBecameVisible / OnBecameInvisible При большом количестве коллайдеров могу начаться тормоза.
Сообщение отредактировал seaman - Понедельник, 29 Февраля 2016, 00:18 |
|
| |
Vostrugin | Дата: Понедельник, 29 Февраля 2016, 09:37 | Сообщение # 4 |
постоянный участник
Сейчас нет на сайте
| Tymonr, ты меня обрадовал ;) seaman, спасибо за наводку, как раз думал как это реализуется в Unity. И всё же, где тот самый разумный предел количества коллайдеров на 1 сцене? Статических и динамических?
|
|
| |