Страница 1 из 1

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

СообщениеДобавлено: 19 сен 2016, 13:44
Smrdis
Если инстанцировать префаб из кода, то при его первом рендеринге на слабых устройствах заметен лаг. Как сделать предзагрузку?

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

СообщениеДобавлено: 19 сен 2016, 14:45
Woolf
никак. лаг при инстанировании средствами юнити не победить.

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

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

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

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

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

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

Так часто делают. Особенно в UI. Вместо создания префаба, оставляют образец на сцене в выключенном состоянии, затем его клонируют. Лаг идёт только на инстанс, а вот все картинки, на которые ссылается префаб уже по умолчанию загружены в память при старте сцены.

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

СообщениеДобавлено: 21 сен 2016, 14:06
Woolf
а вот все картинки, на которые ссылается префаб уже по умолчанию загружены в память при старте сцены

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

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

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

ШТА? Видно это может быть только на мегатекстурах, а на обычных бывают только фризы.

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

СообщениеДобавлено: 21 сен 2016, 22:17
getAlex
Woolf писал(а):
а вот все картинки, на которые ссылается префаб уже по умолчанию загружены в память при старте сцены

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

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

ps И технически, любой подготовленный игровой образец/болванка для копирования является префабом, а не только префабы юнити.