Подскажите с оптимизациями

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

Подскажите с оптимизациями

Сообщение Cybernoise 10 ноя 2015, 15:55

Доброго времени суток гуру юнити , подскажите немного по парочке вопросов:

1)Каст и прием теней. Хотелось узнать нагружает ли включенные галочки на каст и прием теней у обьектов если в сцене нету источников света, или если на них анлит шейдера ?

2)Видел много советов использовать двойную буфферизацию мешей, но так и не понял - это желательно делать всегда или в каких-то определенных случаях ? если у меня бегают и дерутся мобы , стоит ли использовать её ?

3)Большая часть карты 90% у меня невидима, игрок видит только 10% из них, вся карта статична, вид на карту - сверху, есть ли смысл отключать невидимые участки ?

4)При выстрелах в мобов на земле из пула ставятся плашки с кровью , но если их на экране много - на девайсе начинается смерть, если мало - просто не красиво, что можно придумать для этой цели ? ... комбинить их в 1 меш ? ... рендер их всех в 1 текстуру ? .. подскажите что-то
Аватара пользователя
Cybernoise
UNITрон
 
Сообщения: 262
Зарегистрирован: 12 июн 2013, 13:43
Откуда: Одесса
Skype: Mister4ui

Re: Подскажите с оптимизациями

Сообщение DualPain 10 ноя 2015, 18:56

Каст и прием теней никак не влияет, если тени выключены.
Отключать невидимые участки есть смысл, только если там есть какие-то скрипты с апдейтом.
А плашки с кровью разве динамически не батчатся?
DualPain
Старожил
 
Сообщения: 727
Зарегистрирован: 11 янв 2013, 01:18
Skype: demon21.09

Re: Подскажите с оптимизациями

Сообщение Cybernoise 11 ноя 2015, 10:59

батчатся, но если их наспамится около 100 и все они поверх друг-друга , то на девайсе начинаются заметные тормоза
Аватара пользователя
Cybernoise
UNITрон
 
Сообщения: 262
Зарегистрирован: 12 июн 2013, 13:43
Откуда: Одесса
Skype: Mister4ui

Re: Подскажите с оптимизациями

Сообщение DualPain 11 ноя 2015, 11:05

овердроу...
может проверять, если одно пятно появляется рядом с другим, то оно его будет заменять
ну или заменяться на пятно побольше
DualPain
Старожил
 
Сообщения: 727
Зарегистрирован: 11 янв 2013, 01:18
Skype: demon21.09

Re: Подскажите с оптимизациями

Сообщение ProNikolay37 24 дек 2015, 00:41

А почему бы не выставить ограничение в 30 штук. Последующие создавать, а старые удалять
ProNikolay37
UNец
 
Сообщения: 31
Зарегистрирован: 16 дек 2015, 18:21

Re: Подскажите с оптимизациями

Сообщение Cybernoise 24 дек 2015, 11:54

ограничение есть , но визуально гараздо красивее когда их больше
Аватара пользователя
Cybernoise
UNITрон
 
Сообщения: 262
Зарегистрирован: 12 июн 2013, 13:43
Откуда: Одесса
Skype: Mister4ui

Re: Подскажите с оптимизациями

Сообщение [bm] 24 дек 2015, 14:58

Если надо много крови, то думаю лучше рендерить только видимую часть, отсекая невидимую мешем (sprite mesh, как тут http://forum.unity3d.com/threads/sprite ... er.327997/), и батчить статично
Mafia Rush: universal iOS game _https://goo.gl/CKq4D Android _https://goo.gl/slFLXx
Shooter Ball: Android _https://goo.gl/21QyPw
skype: bmindfield
Аватара пользователя
[bm]
UNIверсал
 
Сообщения: 426
Зарегистрирован: 11 май 2010, 22:33
Откуда: Россия, Ижевск

Re: Подскажите с оптимизациями

Сообщение Cr0c 24 дек 2015, 15:30

А объединять плашки в один меш вместо наложения друг на друга?
Аватара пользователя
Cr0c
Адепт
 
Сообщения: 3035
Зарегистрирован: 19 июн 2015, 13:50
Skype: cr0c81

Re: Подскажите с оптимизациями

Сообщение [bm] 25 дек 2015, 08:51

Cr0c писал(а):А объединять плашки в один меш вместо наложения друг на друга?

Батчинг это делает, но на это тоже уходят ресурсы. Еще тут проблема в овердроу, даже если в один меш (или я ошибаюсь?), решение предложил DualPain
Mafia Rush: universal iOS game _https://goo.gl/CKq4D Android _https://goo.gl/slFLXx
Shooter Ball: Android _https://goo.gl/21QyPw
skype: bmindfield
Аватара пользователя
[bm]
UNIверсал
 
Сообщения: 426
Зарегистрирован: 11 май 2010, 22:33
Откуда: Россия, Ижевск

Re: Подскажите с оптимизациями

Сообщение Cr0c 25 дек 2015, 10:25

[bm] писал(а):
Cr0c писал(а):А объединять плашки в один меш вместо наложения друг на друга?

Батчинг это делает, но на это тоже уходят ресурсы. Еще тут проблема в овердроу, даже если в один меш (или я ошибаюсь?), решение предложил DualPain

Батчинг не объединяет же геометрию... А если перекрывающиеся плашки в один меш объединить - откуда овердроу возьмется?
Аватара пользователя
Cr0c
Адепт
 
Сообщения: 3035
Зарегистрирован: 19 июн 2015, 13:50
Skype: cr0c81

Re: Подскажите с оптимизациями

Сообщение [bm] 25 дек 2015, 11:32

Батчинг как раз и объединяет. А если объединить два квада в одной позиции, но сразным поворотом по Y, то это будут те же два квада но в одном меше, отсюда и овердро. Overdraw != draw calls

Но батчинг тоже не дешевый: в одном проекте все тормозило с батчингом, а без него нет. так что draw calls тоже не показатель. Лучше сразу запекать сцену в один меш.
Mafia Rush: universal iOS game _https://goo.gl/CKq4D Android _https://goo.gl/slFLXx
Shooter Ball: Android _https://goo.gl/21QyPw
skype: bmindfield
Аватара пользователя
[bm]
UNIверсал
 
Сообщения: 426
Зарегистрирован: 11 май 2010, 22:33
Откуда: Россия, Ижевск

Re: Подскажите с оптимизациями

Сообщение Cr0c 25 дек 2015, 11:49

То есть после батчинга двух объектов один из них уже не удалить?
Склеить два меша по вершинам, отрезая пересекающиеся грани, будет сильно затратно по ресурсам?
Здесь же читал, что строить меш для декали с огибанием граней объекта не сильно затратно было. :-\
Есть кому просветить заблудшую душу?
Аватара пользователя
Cr0c
Адепт
 
Сообщения: 3035
Зарегистрирован: 19 июн 2015, 13:50
Skype: cr0c81

Re: Подскажите с оптимизациями

Сообщение [bm] 25 дек 2015, 12:34

Cr0c писал(а):То есть после батчинга двух объектов один из них уже не удалить?

При динамическом батчинге можно удалить, тк батчинг выполняется каждый фрейм. При статическом не удалить.
Cr0c писал(а):Склеить два меша по вершинам, отрезая пересекающиеся грани, будет сильно затратно по ресурсам?

А вот это самому интересно.

А может просто отрезать рендеринг через какой-нибудь stencil буфер? Но опять же мне это кажется равноправным рисованию пикселя в экран.
Mafia Rush: universal iOS game _https://goo.gl/CKq4D Android _https://goo.gl/slFLXx
Shooter Ball: Android _https://goo.gl/21QyPw
skype: bmindfield
Аватара пользователя
[bm]
UNIверсал
 
Сообщения: 426
Зарегистрирован: 11 май 2010, 22:33
Откуда: Россия, Ижевск

Re: Подскажите с оптимизациями

Сообщение Tolking 25 дек 2015, 14:21

Не ленитесь. Сделать свою систему декалей которые будут все находиться в одном меше не сложно. Будет вам свой бачинг какой хотите...
Ковчег построил любитель, профессионалы построили Титаник.
Аватара пользователя
Tolking
Адепт
 
Сообщения: 2716
Зарегистрирован: 08 июн 2009, 18:22
Откуда: Тула


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

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

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