Загрузка файлов fbx в виде пакетов ресурсов на iPad – проблема с памятьюC#

Место общения программистов C#
Ответить Пред. темаСлед. тема
Anonymous
 Загрузка файлов fbx в виде пакетов ресурсов на iPad – проблема с памятью

Сообщение Anonymous »

В нашем приложении для iPad нам нужно загружать файлы FBX (размером 1–100 МБ) в виде пакетов ресурсов. Я начал тестирование с файла FBX размером 26 МБ, и он создал пакет ресурсов размером 17 МБ. Когда я запускаю тестовую сцену для загрузки этого пакета ресурсов в iPad, она загружается примерно через 1 минуту. И тогда я получаю предупреждение памяти. Я отслеживал память с помощью Xcode, и кажется, что использование памяти увеличилось примерно с 1 МБ до 65 МБ, а затем, как раз перед тем, как модель показала увеличение памяти сразу примерно до 175 МБ. Ниже приведен мой код.
Я видел подобные проблемы, опубликованные другими пользователями. Но ни в одной из этих тем я не увидел подходящего решения этой проблемы. Как я читал в этих темах, я думаю, что объем памяти увеличивается при распаковке пакета ресурсов. Но я не понимаю, почему он составляет около 170 МБ.
Что мы можем сделать, чтобы уменьшить объем памяти? использование?
public class CachingLoad : MonoBehaviour {
public string BundleURL;
public string AssetName;
public int version;

void Start() {
StartCoroutine (DownloadAndCache());
}

IEnumerator DownloadAndCache (){
// Wait for the Caching system to be ready
while (!Caching.ready)
yield return null;

BundleURL = "http://10.30.3.228:8080/TestDownload/as ... e1.unity3d";
// Load the AssetBundle file from Cache if it exists with the same version or download and store it in the cache
using(WWW www = WWW.LoadFromCacheOrDownload (BundleURL, version)){
yield return www;
if (www.error != null)
throw new Exception("WWW download had an error:" + www.error);
AssetBundle bundle = www.assetBundle;
if (AssetName == "")
Instantiate(bundle.mainAsset);
else
Instantiate(bundle.Load(AssetName));
// Unload the AssetBundles compressed contents to conserve memory
bundle.Unload(false);

} // memory is freed from the web stream (www.Dispose() gets called implicitly)
}
}


Подробнее здесь: https://stackoverflow.com/questions/211 ... mory-issue
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «C#»