Resources и UnloadUnusedAssets

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

Resources и UnloadUnusedAssets

Сообщение gnoblin 03 май 2010, 16:41

Уточнил для себя несколько вещей насчет папки Resources.

Во-первых, всё ее содержимое НЕ грузится в оперативу (как я предполагал ранее).

Во-вторых, вот рабочий пример выгрузки ненужных ассетов из памяти.
Создаем в папке с проектом папку Resources, грузим туда, например, много текстурок в ARGB32, вешаем скрипт, включаем диспетчер задач и наблюдаем O:-) .

Синтаксис:
Используется csharp
using UnityEngine;
using System.Collections;

public class NewBehaviourScript : MonoBehaviour {

    Object[] objs;
    void OnGUI()
    {
        if (GUILayout.Button("Load All"))
        {
             objs = Resources.LoadAll("");
        }

        if (GUILayout.Button("UnLoad All"))
        {
            Resources.UnloadUnusedAssets();
            objs = null;
        }
    }
}


При запуске пустой сцены - 23 мега в памяти, жмем кнопочку LoadAll - потребление памяти растет (у меня 147 мегов с моими текстурками), жмем кнопочку UnloadAll - потребление памяти падает обратно до 23 мегов.

Хочу заметить, что только
Код: Выделить всё
Resources.UnloadUnusedAssets();
не спасает - очистка памяти срабатывает только в совокупности с занулением ссылки на массив с объектами. :)

Если кто-то что-то умное может сказать на эту тему - you're welcome!
skypeid: madkust
Мои крайние проекты:
Убойный Хоккей
Cube Day Z (альфа)
Аватара пользователя
gnoblin
Адепт
 
Сообщения: 4633
Зарегистрирован: 08 окт 2008, 17:23
Откуда: Минск, Беларусь
Skype: madkust
  • Сайт

Re: Resources и UnloadUnusedAssets

Сообщение warr11r 03 май 2010, 17:10

Какие ресурсы считаються неиспользованными? Те, что есть в сцене, или те, что лежат в папке Resources?
Мудрость - это когда начинаешь понимать, что все время занимаешься какой-то х...ней.
Изображение
Аватара пользователя
warr11r
UNITрон
 
Сообщения: 310
Зарегистрирован: 06 июн 2009, 03:21
Откуда: Украина, Ровно
  • ICQ

Re: Resources и UnloadUnusedAssets

Сообщение Neodrop 03 май 2010, 17:34

Те, которых нет в сцене.
Добавить neodrop в Skype
Изображение
"Спасибо!" нашему порталу, вы сможете сказать ЗДЕСЬ.
Если проблема не решается честно, нужно её обмануть! || Per stupiditas at Astra!
Страх порождает слабость. Бесстрашных поражают пули.
Протратившись на блядях байтах, на битах не экономят.
Аватара пользователя
Neodrop
Админ
 
Сообщения: 8418
Зарегистрирован: 08 окт 2008, 15:42
Откуда: Питер
Skype: neodrop
  • Сайт

Re: Resources и UnloadUnusedAssets

Сообщение jimmm 01 сен 2017, 11:10

То есть по идее, надо в папку ресурсы запихивать все модели и текстуры, чтоб они таким способом вычищались? И работает ли в этом случае Destroy как зануление?
jimmm
UNITрон
 
Сообщения: 326
Зарегистрирован: 23 янв 2013, 22:57

Re: Resources и UnloadUnusedAssets

Сообщение Tolking 01 сен 2017, 11:57

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

Re: Resources и UnloadUnusedAssets

Сообщение jimmm 01 сен 2017, 13:42

Tolking писал(а):Нет. В ресурсы нужно пихать только то, то грузится кодом...

Я имел ввиду, что и модель и префаб и текстуры того объекта что инстантится нужно пихать в папку ресурсов?
jimmm
UNITрон
 
Сообщения: 326
Зарегистрирован: 23 янв 2013, 22:57

Re: Resources и UnloadUnusedAssets

Сообщение Tolking 01 сен 2017, 16:39

:) Текстуры грузятся кодом?
Ковчег построил любитель, профессионалы построили Титаник.
Аватара пользователя
Tolking
Адепт
 
Сообщения: 1886
Зарегистрирован: 08 июн 2009, 18:22
Откуда: Тула

Re: Resources и UnloadUnusedAssets

Сообщение jimmm 01 сен 2017, 17:22

Нет, на префабе
У меня вроде все дестроится, но память почему-то все забивается и забивается, обратно особо не вычищается
jimmm
UNITрон
 
Сообщения: 326
Зарегистрирован: 23 янв 2013, 22:57

Re: Resources и UnloadUnusedAssets

Сообщение lawsonilka 01 сен 2017, 23:01

jimmm писал(а):Нет, на префабе
У меня вроде все дестроится, но память почему-то все забивается и забивается, обратно особо не вычищается

ресурсы не будут вычищаться используйте для этого бандлы.
lawsonilka
UNITрон
 
Сообщения: 269
Зарегистрирован: 21 окт 2014, 14:48


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

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

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