Страница 4 из 5

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

СообщениеДобавлено: 12 май 2021, 00:07
vitalik77
Был весьма удивлен включенным туманом, при линейном фпс не изменился, не знаю правда как будет в билде но буду пробовать. Эффект хорошо скрывает недочеты отрисовки на расстоянии.

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

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

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

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

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

СообщениеДобавлено: 12 май 2021, 09:12
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 фпс.
Но оптимизировать все же надо, пока ковырялся в тирейне, нашел еще кучу всяких мелочей которые можна подкрутить и несколько костылей наделанных в начале работы над игрой.

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

СообщениеДобавлено: 12 май 2021, 11:01
Alkos26Rus
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?

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

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

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

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

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

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

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

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

СообщениеДобавлено: 12 май 2021, 18:14
vitalik77
Сделаю верхний остров тогда увидим, что насколько грузит, там все равно тирейн не подойдет.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

СообщениеДобавлено: 25 май 2021, 07:39
Woolf
Писать в debug на каждом фрейме? А месье знает толк в извращениях..

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

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

СообщениеДобавлено: 25 май 2021, 10:04
TeslaGan
Woolf писал(а):Писать в debug на каждом фрейме? А месье знает толк в извращениях..

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

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

СообщениеДобавлено: 26 май 2021, 10:53
vitalik77
Woolf писал(а):Писать в debug на каждом фрейме? А месье знает толк в извращениях..

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

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

Rigikinematik= getcomponnent.rigidbody(). Iskinematik;

Void autostart()

Rigikinematik = false;
 
 

За синтаксис по рукам не бейте пишу с телефона. В компиляторе все правельно.
Но суть в том что галочка не снимается, єто я к примеру написал. И так с любой ккшированной ссылкой. Я что то не правельно делаю, обясните пожалуйста что?

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

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

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

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