![]() |
Цитата:
вот, плеер, запомни - мы тут инстанс битмапы как бы создали, но ты память под него не выделяй, пока никто не обратится так что ли? |
Цитата:
|
Чего то дискуссия свернула куда то не туда. Как в разные промежутки времени создавать битмапы ссылающиеся на одну BitmapData? Т.е. насоздовали битмап и забыли про это, затем понадобилось еще несколько таких же битпап, но где взять ссылку на BitmapData первой группы? Сначала подумал, что можно было бы создать класс в котором бы хранились все ссылки на BitmapData если они используются. В геттере проверяли бы существует ли BitmapData, если да до возвращаем ссылку на нее, если нет то предварительно создаем объект из класса Embed и присваиваем ссылке в классе его BitmapData. Кроме того, что это затрудняем редактирование содержимого библиотеки, ко всему прочему не понятно как обнулить ссылку на BitmapData если нет использующих ее битмап.
|
|
Если высоздали BitmapData и забыли о нем, но хотя бы одна ссылка на него все же существует, тогда создание еще одного экземпляра BitmapData неоправдано увеличит расход памьяти. Так что лучше создать по экземпляру нужных BitmapData (если они постоянно используются, а не позказываются, скажем, в финальных титрах) и передавать ссылки на них нужным Bitmap-ам. Все BitmapData можно собрать в одном месте (склад текстур :) )
|
Цитата:
Цитата:
Код AS3:
Но пока что способ этот выглядит очень криво и деревянно. |
А в чем идея то?
Если Вам нужно кое что из БОЛЬШОГО НАБОРА, тогда либо грузите все и потом имеете моментальный доступ к нужным ресурсам, либо грузите лиш по необходимости, но тогда будет задержка на загрузку перед отображением. Просто не могу понять Вашу ситуацию... З.Ы.: В одной из онлайн игр с флешовым клиентом видел хороший прием: как только локация загрузится (со всеми обьектами и неписями - они все же стандартные и 100% будут отображаться) сразу же начинается игра, а текстуры для всех игроков, которые попадают в поле зрения подтягиваются в фоновом режиме. Во время загрузки этих текстур вместо игроков подставляются только силуэты мужской/женской фигуры. Хоть это не очень красиво, но, лично меня, длительная загрузка раздражает больше :) Добавлено через 6 минут Цитата:
|
Цитата:
Пример: Есть склад, на котором могут храниться любые объекты. Мы не можем хранить в памяти BitmapData'ы для всех существующих в мире объектов, поэтому подгружаем BitmapData'ы только тех объектов, которые хранятся на складе. Эти BitmapData'ы нужно где то хранить, что бы если на склад привезут, скажем, Гвозд'и, которые уже есть на складе, мы не создавали новую BitmapData'у гвоздей, а использовали уже имеющуюся. Если со склада увозят все объекты одного типа, то надобность хранить BitmapData'у отпадает и она должна быть автоматически выгружена из памяти. Цитата:
Код AS3:
|
заводить счётчик.
Вот кастомный менеджер ресурсов. (за код сильно не бейте) https://github.com/k0t0vich/fazenda/...TileManager.as когда мы говорим getTileByName мы увеличиваем счётчик, когда говорим deleteResource, счётчик уменьшается. Но тут надо аккуратно следить. |
Цитата:
Добавлено через 3 минуты Все, чем напичкано основное приложение, при старте попадает в памьять. Если есть внешние данные, тогда Вам (приложению) решать, что загружать в себя (в памьять, выделенную для себя) и что из загруженного выгрузить из себя. |
| Часовой пояс GMT +4, время: 20:47. |
Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.