Предзагрузка префабов

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

Предзагрузка префабов

Сообщение Smrdis 19 сен 2016, 13:44

Если инстанцировать префаб из кода, то при его первом рендеринге на слабых устройствах заметен лаг. Как сделать предзагрузку?
Smrdis
UNец
 
Сообщения: 10
Зарегистрирован: 16 сен 2016, 16:30

Re: Предзагрузка префабов

Сообщение Woolf 19 сен 2016, 14:45

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

Re: Предзагрузка префабов

Сообщение Smrdis 19 сен 2016, 15:51

Речь не о медленном инстанцировании, это решается обычным пулом, а о том, что при инстансировании данные объекта почему-то не загружаются в память. Т.е. текстура объекта окажется на GPU не в момент собственно инстансирования объекта, а во время первой отрисовки.
Smrdis
UNец
 
Сообщения: 10
Зарегистрирован: 16 сен 2016, 16:30

Re: Предзагрузка префабов

Сообщение Smrdis 20 сен 2016, 12:42

В итоге решил проблему совершенно варварским способом. Создаю префабы на сцене, закрываю их экраном загрузки и даю порендериться в течение 5 кадров, почему-то нужно именно столько %). После этого лаги пропадают.
Smrdis
UNец
 
Сообщения: 10
Зарегистрирован: 16 сен 2016, 16:30

Re: Предзагрузка префабов

Сообщение getAlex 20 сен 2016, 22:48

Smrdis писал(а):В итоге решил проблему совершенно варварским способом. Создаю префабы на сцене, закрываю их экраном загрузки и даю порендериться в течение 5 кадров, почему-то нужно именно столько %). После этого лаги пропадают.

Так часто делают. Особенно в UI. Вместо создания префаба, оставляют образец на сцене в выключенном состоянии, затем его клонируют. Лаг идёт только на инстанс, а вот все картинки, на которые ссылается префаб уже по умолчанию загружены в память при старте сцены.
getAlex
Адепт
 
Сообщения: 1775
Зарегистрирован: 10 авг 2013, 18:30

Re: Предзагрузка префабов

Сообщение Woolf 21 сен 2016, 14:06

а вот все картинки, на которые ссылается префаб уже по умолчанию загружены в память при старте сцены

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

Re: Предзагрузка префабов

Сообщение waruiyume 21 сен 2016, 14:19

То и имеет, я лично наблюдал такое поведение: при инстансе префаба с несколькими жирными текстурами, приложение фризится на несколько сотен миллисекунд(по ощущениям от 100-200)
На медленных машинах даже заметно, как прогружается текстура после инстанирования

ШТА? Видно это может быть только на мегатекстурах, а на обычных бывают только фризы.
Аватара пользователя
waruiyume
Адепт
 
Сообщения: 6143
Зарегистрирован: 30 окт 2010, 05:03
Откуда: Ростов на Дону

Re: Предзагрузка префабов

Сообщение getAlex 21 сен 2016, 22:17

Woolf писал(а):
а вот все картинки, на которые ссылается префаб уже по умолчанию загружены в память при старте сцены

А вот тут вы не правы. Все же, визуально загрузка идет при первом инстанировании. На медленных машинах даже заметно, как прогружается текстура после инстанирования. Может быть ТС и имел в виду именно это. Просто понятие "лаг" подразумевает кратковременное подвисание игры, а не прогрузку текстуры. Так что тут непонятно, что именно именует ТС лагом.

Если бы вы внимательно прочитали, то поняли бы что под префабом в данном контексте я имею ввиду образец, находящийся на сцене в выключенном состоянии. Просто не знал как короче написать это словосочетание и написал второй раз "префаб".

ps И технически, любой подготовленный игровой образец/болванка для копирования является префабом, а не только префабы юнити.
getAlex
Адепт
 
Сообщения: 1775
Зарегистрирован: 10 авг 2013, 18:30


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

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

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