Насколько стоит оптимизировать?

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

Re: Насколько стоит оптимизировать?

Сообщение vitalik77 12 май 2021, 00:07

Был весьма удивлен включенным туманом, при линейном фпс не изменился, не знаю правда как будет в билде но буду пробовать. Эффект хорошо скрывает недочеты отрисовки на расстоянии.
vitalik77
UNIверсал
 
Сообщения: 434
Зарегистрирован: 06 май 2021, 09:56

Re: Насколько стоит оптимизировать?

Сообщение Alkos26Rus 12 май 2021, 00:32

vitalik77 писал(а):Был весьма удивлен включенным туманом, при линейном фпс не изменился, не знаю правда как будет в билде но буду пробовать. Эффект хорошо скрывает недочеты отрисовки на расстоянии.

Туман стандартный тоже вроде не желателен для мобилок, тестить конечно нужно.

Вот тебе можно использовать что то вроде этого ассета. Он за один клик, твой террейн превратит в меш, с сохранением раскраски, тобишь можно использовать splatmap шейдер, либо вобще дифузный с одной текстурой, что вобще просто топ для оптимизации, ну качество картинки будет чуть мыльное правда при втором варианте. Он кстате и деревья тоже перенесет. Он правда за 25, может что то подобное и дешевле есть, но прицнип такой.
https://assetstore.unity.com/packages/tools/terrain/terrain-to-mesh-47276
Аватара пользователя
Alkos26Rus
Адепт
 
Сообщения: 1640
Зарегистрирован: 26 ноя 2020, 17:52
Откуда: Москва

Re: Насколько стоит оптимизировать?

Сообщение vitalik77 12 май 2021, 09:12

И так сделал тесты на Adreno506
1й игра зависла

включен Sustained Performance mod в player settings (Раньше я его не видел значить добавили в 2020 Юнити)
Включен Draw Instances ы тирейне
отключен Lightmap streaming в тех же PL s
в тирейне изменен MeshResolution- DetailResolution на 64
MeshResolution- DetailResolutionPerPatch на 32 (оба параметра были по 8 и по непонятным мне причинам это вызывало лаги даже в редакторе в плей мод)
В результате запустилось, на глаз так в раене 20 фпс но стабильно, получилось даже ездить на машине по лесу.
Вывод - Если чипсет телефона указан как неигровое решение, значит оно не игровое. Но при большем желании можно играть с 20 фпс, я когда то Фолл4 играл на 15 фпс.
Но оптимизировать все же надо, пока ковырялся в тирейне, нашел еще кучу всяких мелочей которые можна подкрутить и несколько костылей наделанных в начале работы над игрой.
vitalik77
UNIверсал
 
Сообщения: 434
Зарегистрирован: 06 май 2021, 09:56

Re: Насколько стоит оптимизировать?

Сообщение Alkos26Rus 12 май 2021, 11:01

vitalik77 писал(а):И так сделал тесты на Adreno506
1й игра зависла

включен Sustained Performance mod в player settings (Раньше я его не видел значить добавили в 2020 Юнити)
Включен Draw Instances ы тирейне
отключен Lightmap streaming в тех же PL s
в тирейне изменен MeshResolution- DetailResolution на 64
MeshResolution- DetailResolutionPerPatch на 32 (оба параметра были по 8 и по непонятным мне причинам это вызывало лаги даже в редакторе в плей мод)
В результате запустилось, на глаз так в раене 20 фпс но стабильно, получилось даже ездить на машине по лесу.
Вывод - Если чипсет телефона указан как неигровое решение, значит оно не игровое. Но при большем желании можно играть с 20 фпс, я когда то Фолл4 играл на 15 фпс.
Но оптимизировать все же надо, пока ковырялся в тирейне, нашел еще кучу всяких мелочей которые можна подкрутить и несколько костылей наделанных в начале работы над игрой.

При 20фпс играть невозможно, какой смысл себя успокаивать. Какой хоть планшет на Adreno506?
Аватара пользователя
Alkos26Rus
Адепт
 
Сообщения: 1640
Зарегистрирован: 26 ноя 2020, 17:52
Откуда: Москва

Re: Насколько стоит оптимизировать?

Сообщение vitalik77 12 май 2021, 14:41

Lenovo pb1- 770m
Дальше урезать качество некуда.
В варфрейме сетка терейна уже и так как бокс колайдер, дырка на дырке. Даже если я запилю меш то он даст такой же результат. Можна еще разве что из деревьев 1й лод вырвать. Если порезать всю графику и персонажей и транспорт то тогда оно будет похоже на милион таких же обмылков из плеймаркета. И так травы нет, теней нет, реального света нет, ветра нет, вода статик, нпс отключаются.
vitalik77
UNIверсал
 
Сообщения: 434
Зарегистрирован: 06 май 2021, 09:56

Re: Насколько стоит оптимизировать?

Сообщение Alkos26Rus 12 май 2021, 14:57

vitalik77 писал(а):Lenovo pb1- 770m
Дальше урезать качество некуда.
В варфрейме сетка терейна уже и так как бокс колайдер, дырка на дырке. Даже если я запилю меш то он даст такой же результат. Можна еще разве что из деревьев 1й лод вырвать. Если порезать всю графику и персонажей и транспорт то тогда оно будет похоже на милион таких же обмылков из плеймаркета. И так травы нет, теней нет, реального света нет, ветра нет, вода статик, нпс отключаются.

Планшет нормальный, на нем должно быть 60фпс. Ну ты можешь хоть сколько оптимизировать террейн, толку не будет, он для мобилки не предназначен.
Даже если я запилю меш то он даст такой же результат

С чего ты взял? Ты пробовал?

Ладно, тему нужно заканчивать, каждый остался при своем мнении
Аватара пользователя
Alkos26Rus
Адепт
 
Сообщения: 1640
Зарегистрирован: 26 ноя 2020, 17:52
Откуда: Москва

Re: Насколько стоит оптимизировать?

Сообщение vitalik77 12 май 2021, 18:14

Сделаю верхний остров тогда увидим, что насколько грузит, там все равно тирейн не подойдет.
vitalik77
UNIверсал
 
Сообщения: 434
Зарегистрирован: 06 май 2021, 09:56

Re: Насколько стоит оптимизировать?

Сообщение vitalik77 22 май 2021, 21:13

Alkos26Rus писал(а):
vitalik77 писал(а):Lenovo pb1- 770m
Дальше урезать качество некуда.
В варфрейме сетка терейна уже и так как бокс колайдер, дырка на дырке. Даже если я запилю меш то он даст такой же результат. Можна еще разве что из деревьев 1й лод вырвать. Если порезать всю графику и персонажей и транспорт то тогда оно будет похоже на милион таких же обмылков из плеймаркета. И так травы нет, теней нет, реального света нет, ветра нет, вода статик, нпс отключаются.

Планшет нормальный, на нем должно быть 60фпс. Ну ты можешь хоть сколько оптимизировать террейн, толку не будет, он для мобилки не предназначен.
Даже если я запилю меш то он даст такой же результат

С чего ты взял? Ты пробовал?

Ладно, тему нужно заканчивать, каждый остался при своем мнении

Я вот тут читал разное и наткнулся на то, что get componnent нагрузная функция. А у меня их немеренно, все от всего что то получает. Может от етого такая нагрузка?
vitalik77
UNIверсал
 
Сообщения: 434
Зарегистрирован: 06 май 2021, 09:56

Re: Насколько стоит оптимизировать?

Сообщение TeslaGan 23 май 2021, 23:10

vitalik77 писал(а):Я вот тут читал разное и наткнулся на то, что get componnent нагрузная функция. А у меня их немеренно, все от всего что то получает. Может от етого такая нагрузка?

три самые тяжелые функции, которые приходится использовать: getComponent, разного рода FindGameObject и Debug.Log... и если первые два можно хоть как-то оптимизировать(например в старте мы делаем вызов GetComponent и сохраняем ссыль в переменную, то вот Debug.Log... пока выход один - писать свой дебагер....
p.s. в старых версиях Camera.main - тождественна FindGameObjectsWithTag("MainCamera").getComponent() ...
TeslaGan
UNITрон
 
Сообщения: 315
Зарегистрирован: 01 авг 2015, 18:00

Re: Насколько стоит оптимизировать?

Сообщение Alkos26Rus 23 май 2021, 23:29

TeslaGan писал(а):
vitalik77 писал(а):Я вот тут читал разное и наткнулся на то, что get componnent нагрузная функция. А у меня их немеренно, все от всего что то получает. Может от етого такая нагрузка?

три самые тяжелые функции, которые приходится использовать: getComponent, разного рода FindGameObject и Debug.Log... и если первые два можно хоть как-то оптимизировать(например в старте мы делаем вызов GetComponent и сохраняем ссыль в переменную, то вот Debug.Log... пока выход один - писать свой дебагер....
p.s. в старых версиях Camera.main - тождественна FindGameObjectsWithTag("MainCamera").getComponent() ...

А накой Debug.Log оптимизировать? Это функция чисто для редактора нужна. Вобще ее нужно использовать только доя отладки, проверил что нужно - удалил
Аватара пользователя
Alkos26Rus
Адепт
 
Сообщения: 1640
Зарегистрирован: 26 ноя 2020, 17:52
Откуда: Москва

Re: Насколько стоит оптимизировать?

Сообщение TeslaGan 24 май 2021, 10:57

Alkos26Rus писал(а):
TeslaGan писал(а):
vitalik77 писал(а):Я вот тут читал разное и наткнулся на то, что get componnent нагрузная функция. А у меня их немеренно, все от всего что то получает. Может от етого такая нагрузка?

три самые тяжелые функции, которые приходится использовать: getComponent, разного рода FindGameObject и Debug.Log... и если первые два можно хоть как-то оптимизировать(например в старте мы делаем вызов GetComponent и сохраняем ссыль в переменную, то вот Debug.Log... пока выход один - писать свой дебагер....
p.s. в старых версиях Camera.main - тождественна FindGameObjectsWithTag("MainCamera").getComponent() ...

А накой Debug.Log оптимизировать? Это функция чисто для редактора нужна. Вобще ее нужно использовать только доя отладки, проверил что нужно - удалил

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

p.s. в молодости, на старте изучения юнити, делал свою консоль отладки... чтобы не писать свой лог, использовал Debug... т.к. он может писать инфу не только в заданный обработчик, но и в файл... и до сих пор он так работает. но сейчас я знаю, если придется писать под мобилки - придется так же переписать консольку...
TeslaGan
UNITрон
 
Сообщения: 315
Зарегистрирован: 01 авг 2015, 18:00

Re: Насколько стоит оптимизировать?

Сообщение Woolf 25 май 2021, 07:39

Писать в debug на каждом фрейме? А месье знает толк в извращениях..

Касаемо сабжа, что у вас с нагрузкой на процессоре и на рендере? дайте статистику, пока вы тут с терейном сражаетесь, может у вас код сам тормозит.
Разработчик theFisherOnline - там, где клюёт
Разработчик Atom Fishing II - Первая 3D MMO про рыбалку
Разработчик Atom Fishing - Рыбалка на поплавок, донку, нахлыст, блесну в постъядерный период.
Аватара пользователя
Woolf
Адепт
 
Сообщения: 7179
Зарегистрирован: 02 мар 2009, 16:59

Re: Насколько стоит оптимизировать?

Сообщение TeslaGan 25 май 2021, 10:04

Woolf писал(а):Писать в debug на каждом фрейме? А месье знает толк в извращениях..

порой приходится сидеть на конкурсах трудоустройства в фирму... и время от времени вижу как люди, тестируя свои приложения, тупо из апдейтов(уже спорное мероприятие) не удаляют дебаг.лог... на вопрос почему? очень часто слышно ответ - а зачем, билд же не имеет дебага.... и потом оч сильно удивляются что у них из-за этого появляется большой такой груз ответственности...
если же вы про мою консоль - то нет, там такого нет. просто 2 модуля. один консолька - которая выводит все логи через колбек, вторая - текстовое поле, куда можно вводить читы
TeslaGan
UNITрон
 
Сообщения: 315
Зарегистрирован: 01 авг 2015, 18:00

Re: Насколько стоит оптимизировать?

Сообщение vitalik77 26 май 2021, 10:53

Woolf писал(а):Писать в debug на каждом фрейме? А месье знает толк в извращениях..

Касаемо сабжа, что у вас с нагрузкой на процессоре и на рендере? дайте статистику, пока вы тут с терейном сражаетесь, может у вас код сам тормозит.

К сожелению еще неделю буду на 2й работе и физически нет доступа к проэкту. Но может мне кто то подскажет как правельно кешировать ссылки. А то я пробовал, и у меня не работают кешированные ссылки.
Делаю примерно так
Синтаксис:
Используется csharp
Private bool Rigikinematic;
Start()

Rigikinematik= getcomponnent.rigidbody(). Iskinematik;

Void autostart()

Rigikinematik = false;
 
 

За синтаксис по рукам не бейте пишу с телефона. В компиляторе все правельно.
Но суть в том что галочка не снимается, єто я к примеру написал. И так с любой ккшированной ссылкой. Я что то не правельно делаю, обясните пожалуйста что?
vitalik77
UNIверсал
 
Сообщения: 434
Зарегистрирован: 06 май 2021, 09:56

Re: Насколько стоит оптимизировать?

Сообщение Alkos26Rus 26 май 2021, 11:09

Нет, так работать не будет. Просто делай ссылку на любой компонент, если запрос на него больше одного раза. Если запрос всего один, например при старте GetComponent, то ссылку делать не нужно.
Например:
Синтаксис:
Используется csharp
public RigidBody rigid_body;

void Start(){
rigid_body = GetComponent<RigidBody >();
}

void Update(){
rigid_body.isKinematic = true;
}

 
Аватара пользователя
Alkos26Rus
Адепт
 
Сообщения: 1640
Зарегистрирован: 26 ноя 2020, 17:52
Откуда: Москва

Пред.След.

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

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

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