Форум Flasher.ru
Ближайшие курсы в Школе RealTime
Список интенсивных курсов: [см.]  
  
Специальные предложения: [см.]  
  
 
Блоги Правила Справка Пользователи Календарь Сообщения за день
 

Вернуться   Форум Flasher.ru > Flash > API приложений и сред

Версия для печати  Отправить по электронной почте    « Предыдущая тема | Следующая тема »  
Опции темы Опции просмотра
 
Создать новую тему Ответ
Старый 16.12.2014, 21:03
illuzor вне форума Посмотреть профиль Отправить личное сообщение для illuzor Найти все сообщения от illuzor
  № 11  
Ответить с цитированием
illuzor
 
Аватар для illuzor

Регистрация: Dec 2010
Адрес: Ярославль
Сообщений: 1,255
mikhailk, atf формат не пробовали? Они меньше видеопамять потребляет.
Если старлинг не последней версии, лучше обновить. Пару дней назад вышел 1.6 с множеством оптимизаций.

Старый 16.12.2014, 23:06
mikhailk вне форума Посмотреть профиль Отправить личное сообщение для mikhailk Найти все сообщения от mikhailk
  № 12  
Ответить с цитированием
mikhailk
 
Аватар для mikhailk

Регистрация: Nov 2009
Адрес: СПб
Сообщений: 2,236
Старлинг как раз 1.6 поставил сегодня. Там, кстати, у АссетМенеджера появился параметр количества параллельных загрузок. Думал, если поставить 1, то асинхронная загрузка станет синхронной. Тоже не помогло.

ATF-формат не пробовал, спрайтшиты собираю в пнг.

Кстати, а как можно посмотреть доступный остаток видеопамяти?


Последний раз редактировалось mikhailk; 16.12.2014 в 23:22.
Старый 17.12.2014, 01:45
illuzor вне форума Посмотреть профиль Отправить личное сообщение для illuzor Найти все сообщения от illuzor
  № 13  
Ответить с цитированием
illuzor
 
Аватар для illuzor

Регистрация: Dec 2010
Адрес: Ярославль
Сообщений: 1,255
Цитата:
Кстати, а как можно посмотреть доступный остаток видеопамяти?
Через scout. Кстати, изучите свой проект через скаут. Возможно, это поможет разобраться с проблемой.

Старый 17.12.2014, 14:30
mikhailk вне форума Посмотреть профиль Отправить личное сообщение для mikhailk Найти все сообщения от mikhailk
  № 14  
Ответить с цитированием
mikhailk
 
Аватар для mikhailk

Регистрация: Nov 2009
Адрес: СПб
Сообщений: 2,236
При запуске на компьютере у меня получается (смотрю через Scout), что приложение занимает примерно 320Мб памяти GPU. Походу, это и есть проблема? Надо уложиться в 256?

Добавлено через 15 минут
Не, не в этом дело.
Поставил скалирование, чтобы суммарно текстуры уложились в 95Мб, все равно смартфон отвалился на том же этапе.

Старый 08.01.2015, 13:37
mikhailk вне форума Посмотреть профиль Отправить личное сообщение для mikhailk Найти все сообщения от mikhailk
  № 15  
Ответить с цитированием
mikhailk
 
Аватар для mikhailk

Регистрация: Nov 2009
Адрес: СПб
Сообщений: 2,236
В общем, пища для размышлений:

- в основном приложении у меня пара изображений подключалась как Embed и затем грузилась в память через Texture.fromEmbeddedAsset
- я собрал стендик, в котором эти изображения грузятся как и все остальные через AssetManager, и на стендике добиться падения мне не удалось - все грузится и крутится.

Т.е., походу для надежности надо отказаться от любых вариантов загрузки/создания текстур, кроме как спрайтшитов через AssetManager. Но факт требует проверки.

ЗЫ. Глюк проявляется не на всех девайсах. У меня проявлялся на Samsung Galaxy SII.

Старый 16.01.2015, 11:10
mikhailk вне форума Посмотреть профиль Отправить личное сообщение для mikhailk Найти все сообщения от mikhailk
  № 16  
Ответить с цитированием
mikhailk
 
Аватар для mikhailk

Регистрация: Nov 2009
Адрес: СПб
Сообщений: 2,236
В общем, ситуация такова - у меня глючил даунскейл.

Картинки были выполнены в расчете на планшет среднего размера - думал обойтись одним набором изображений с апскейлом/даунскейлом для всех разрешений. Пришлось сделать второй набор изображений меньшего размера и на небольшом разрешении использовать его.

Старый 16.01.2015, 18:07
Zebestov вне форума Посмотреть профиль Отправить личное сообщение для Zebestov Посетить домашнюю страницу Zebestov Найти все сообщения от Zebestov
  № 17  
Ответить с цитированием
Zebestov
Lorem ipsum
 
Аватар для Zebestov

модератор форума
Регистрация: May 2001
Адрес: Одесса
Сообщений: 4,869
Записей в блоге: 4
Значит все-таки дело было в перерасходе памяти?
__________________
Поймай яблоко 2!

Старый 17.01.2015, 13:48
mikhailk вне форума Посмотреть профиль Отправить личное сообщение для mikhailk Найти все сообщения от mikhailk
  № 18  
Ответить с цитированием
mikhailk
 
Аватар для mikhailk

Регистрация: Nov 2009
Адрес: СПб
Сообщений: 2,236
В общем, ситуация такова:

1. Объем растровых секвенций в виде спрайтшитов PNG - около 20Мб.

2. При запуске приложения в варианте нативного флеша (без использования Starling'а) объем под графику после распаковки секвенций в битмапдату где-то около 300Мб. Приложение визуально жутко тормозит, но не крашится. Из этого я сделал вывод, что проблема не в оперативной памяти при работе непосредственно AIR-приложения.

3. При запуске приложения в варианте на Starling'е объем данных, которые грузятся в видеопамять (судя по данным Scaut'а) 320 Мб. При загрузке в какой-то момент происходит краш. Однако, если уменьшить скейл текстур при загрузке в два раза, чтобы данные заняли в видеопамяти примерно в 4 раза меньше (80-90 Мб), то краш происходит все равно. Из этого я сделал вывод, что проблема не в том, что исчерпалась видеопамять. В обоих случаях, естественно, имел место даунскейл.

Если же уменьшить сами исходные изображения текстур в 2 раза (в 4 раза по объему данных) и грузить при правильном скейле (получается без изменений или апскейл), то загрузка происходит штатно. Из этого я сделал вывод, что вероятнее всего проблема в самом AssetManager'е при даунскейле изображений текстур в момент загрузки.

В принципе, можно конечно провести дополнительный эксперимент. Когда я делал вариант синхронной загрузки (в котором так же наблюдался краш), я грузил битмапы последовательно, но по сути в режиме того же даунскейла средствами AssetManager'а. Можно немного докрутить метод загрузки с тем, чтобы скейлить битпамдаты средствами нативного флеша до загрузки в видеопамять и грузить их средствами AssetManager'а без скейла или с апскейлом. Но тогда потребуется так же править и xml-файлы описания текстур и что там в итоге выйдет, не совсем понятно.

Вот, как-то так.


ЗЫ. На всякий случай уточню, что под скейлом при загрузке я имею в виду скейл, настраиваемый параметром scaleFactor при инициализации AssetManager'а.

Старый 17.01.2015, 14:54
Zebestov вне форума Посмотреть профиль Отправить личное сообщение для Zebestov Посетить домашнюю страницу Zebestov Найти все сообщения от Zebestov
  № 19  
Ответить с цитированием
Zebestov
Lorem ipsum
 
Аватар для Zebestov

модератор форума
Регистрация: May 2001
Адрес: Одесса
Сообщений: 4,869
Записей в блоге: 4
300 метров — это уже очень много. Скажем, на iPhone 4 (это как бы нижний порог) краш будет уже при ~50-80 метрах.
__________________
Поймай яблоко 2!

Старый 17.01.2015, 16:57
mikhailk вне форума Посмотреть профиль Отправить личное сообщение для mikhailk Найти все сообщения от mikhailk
  № 20  
Ответить с цитированием
mikhailk
 
Аватар для mikhailk

Регистрация: Nov 2009
Адрес: СПб
Сообщений: 2,236
Ок, значит для айфона будет упрощена визуализация.
Но пока айфон на повестке дня не стоит.

Создать новую тему Ответ Часовой пояс GMT +4, время: 00:03.
Быстрый переход
  « Предыдущая тема | Следующая тема »  

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.


 


Часовой пояс GMT +4, время: 00:03.


Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.