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

Вернуться   Форум Flasher.ru > Flash > ActionScript 3.0

Версия для печати  Отправить по электронной почте    « Предыдущая тема | Следующая тема »  
Опции темы Опции просмотра
 
Создать новую тему Ответ
Старый 18.05.2014, 23:40
uglan вне форума Посмотреть профиль Отправить личное сообщение для uglan Посетить домашнюю страницу uglan Найти все сообщения от uglan
  № 1  
Ответить с цитированием
uglan

Регистрация: Mar 2003
Адрес: moscow
Сообщений: 102
Отправить сообщение для uglan с помощью ICQ Отправить сообщение для uglan с помощью Skype™
По умолчанию Скролл огромного спрайта без лагов

Привет!
Есть спрайт, в него загружаются и выставляются по порядку 4 битмапы размером 2048х1536. Итого 8к в ширину. Когда начинаю последовательно слайдить эту портянку в конце каждой "страницы"(каждая битмапа это остановка/страница) конструкция застывает на полсекунды или если по-простому ЛАГАЕТ. Вопрос к знатокам, как сделать так чтобы не лагало без потери качества и размеров картинки?

Что я пробовал:
– прятать невидимые в данный момент битмапы – лагает еще хуже.
– делать один шейп+битмапдату и с помощью copypixels и матрицы скроллить – летает без лагов, НО из-за ограничений размеров битмапдаты(несмотря на то что в доках написано что ограничения сняты) флеш дает нарисовать четко без снижения разрешения только около 4к пикселей в ширину.
– загружать сразу единую битмапу размером 8к. – также разрешение сыпется и картинка становится не ретинообразна

UPD: Забыл упомянуть, после прокрутки туда-сюда вся эта конструкция кэшируется в памяти и потом передвигается в целом без лагов. Может быть есть какой-то способ принудительного кэша чтобы не приходилось для нормальной работы крутить его(прокручивать программно до показа тоже пробовал – пока объект перекрыт другим спрайтом флеш его вообще похоже не отрисовывает, поэтому кэшируется он только видимый)

p.s. AIR 4/ios.
__________________
uglan


Последний раз редактировалось uglan; 19.05.2014 в 11:21.
Старый 18.05.2014, 23:56
illuzor вне форума Посмотреть профиль Отправить личное сообщение для illuzor Найти все сообщения от illuzor
  № 2  
Ответить с цитированием
illuzor
 
Аватар для illuzor

Регистрация: Dec 2010
Адрес: Ярославль
Сообщений: 1,255
Цитата:
– прятать невидимые в данный момент битмапы – лагает еще хуже.
Как именно прятать? Если выключить visible, то объект не отрисовывается.

Попробуйте blitmask

Старый 19.05.2014, 00:08
uglan вне форума Посмотреть профиль Отправить личное сообщение для uglan Посетить домашнюю страницу uglan Найти все сообщения от uglan
  № 3  
Ответить с цитированием
uglan

Регистрация: Mar 2003
Адрес: moscow
Сообщений: 102
Отправить сообщение для uglan с помощью ICQ Отправить сообщение для uglan с помощью Skype™
прятать через visible да, при этом заботливый флеш выгружает спрятанный объект из памяти из-за чего его повторное отображение требует еще больше времени чем если бы он просто висел где-то неподалеку.

Пример с блитмаск если без битмапмоде даже на компе тормозит, что уж говорить про иос. К тому же скорее всего он использует ту же битмапдату а значит ограничения на размер будут налагаться такие же.
__________________
uglan

Старый 19.05.2014, 00:39
illuzor вне форума Посмотреть профиль Отправить личное сообщение для illuzor Найти все сообщения от illuzor
  № 4  
Ответить с цитированием
illuzor
 
Аватар для illuzor

Регистрация: Dec 2010
Адрес: Ярославль
Сообщений: 1,255
Цитата:
2048х1536. Итого 8к в ширину
Цитата:
В AIR 1.5 и Flash Player 10 максимальный размер объекта BitmapData составляет 8,191
У вас получается 8192, то есть на один пиксель больше ограничения.
Но:
Цитата:
Начиная с версии AIR 3 и проигрывателя Flash Player 11 ограничения по размеру для объекта BitmapData удалены.
Максимальный размер растрового изображения теперь зависит от операционной системы.
Я не смог найти подробной информации.
Попробуйте уменьшить картинки на пару пикселей и склеить в одну. Возможно, заработает.
Работаете с дисплейлистом без GPU фреймворков?

Старый 19.05.2014, 00:46
uglan вне форума Посмотреть профиль Отправить личное сообщение для uglan Посетить домашнюю страницу uglan Найти все сообщения от uglan
  № 5  
Ответить с цитированием
uglan

Регистрация: Mar 2003
Адрес: moscow
Сообщений: 102
Отправить сообщение для uglan с помощью ICQ Отправить сообщение для uglan с помощью Skype™
Пробовал чуть меньший размер(не на пару пикселей а гораздо больше) – тот же результат. Я этот док тоже читал, там еще написано что начиная с AIR 3 ограничения на размер битмапдаты сняты...

Про дисплейлисты без GPU фреймворков не понял. Рендерю в GPU, но стандартными средствами, без движков. А как дисплейлист может помочь?
__________________
uglan

Старый 19.05.2014, 00:51
in4core вне форума Посмотреть профиль Отправить личное сообщение для in4core Найти все сообщения от in4core
  № 6  
Ответить с цитированием
in4core
[+4 06.05.14]
 
Аватар для in4core

Регистрация: Mar 2009
Сообщений: 4,219
Записей в блоге: 14
Цитата:
снижения разрешения только около 4к пикселей в ширину.
Ммм. А что много людей с мониторами 4к в ширину хотя бы? Тем более ios
__________________
Марк Tween

Старый 19.05.2014, 00:56
uglan вне форума Посмотреть профиль Отправить личное сообщение для uglan Посетить домашнюю страницу uglan Найти все сообщения от uglan
  № 7  
Ответить с цитированием
uglan

Регистрация: Mar 2003
Адрес: moscow
Сообщений: 102
Отправить сообщение для uglan с помощью ICQ Отправить сообщение для uglan с помощью Skype™
разрешение ipad 3+ = 2048x1536. 4 экрана в ширину – вот и 8к пикселей уже.
__________________
uglan

Старый 19.05.2014, 03:37
in4core вне форума Посмотреть профиль Отправить личное сообщение для in4core Найти все сообщения от in4core
  № 8  
Ответить с цитированием
in4core
[+4 06.05.14]
 
Аватар для in4core

Регистрация: Mar 2009
Сообщений: 4,219
Записей в блоге: 14
Цитата:
разрешение ipad 3+ = 2048x1536
Да лан? Что то не верится, когда у моего LED 23 1920*1080, а у айпада в 2 раза меньшего еще и больше Там точек стока не уместиться ))) Профессиональный юмор...Но не суть. Дело в том, что - причем тут 4 экрана ? Экран то один. Или вы собрались каким то образом объединить 4 айпада на показ одного результата ?
__________________
Марк Tween

Старый 19.05.2014, 03:42
ZackMercury вне форума Посмотреть профиль Отправить личное сообщение для ZackMercury Найти все сообщения от ZackMercury
  № 9  
Ответить с цитированием
ZackMercury
 
Аватар для ZackMercury

блогер
Регистрация: Jul 2013
Адрес: Север
Сообщений: 1,918
Записей в блоге: 23
Отправить сообщение для ZackMercury с помощью ICQ Отправить сообщение для ZackMercury с помощью Skype™
Цитата:
Сообщение от in4core Посмотреть сообщение
Да лан? Что то не верится, когда у моего LED 23 1920*1080, а у айпада в 2 раза меньшего еще и больше Там точек стока не уместиться ))) Профессиональный юмор...Но не суть. Дело в том, что - причем тут 4 экрана ? Экран то один. Или вы собрались каким то образом объединить 4 айпада на показ одного результата ?
Мне кажется, он имел в виду показ определённой части спрайта размером в экран.
__________________
There is no thing in this world that is not simple.

Старый 19.05.2014, 08:32
Aquahawk вне форума Посмотреть профиль Отправить личное сообщение для Aquahawk Посетить домашнюю страницу Aquahawk Найти все сообщения от Aquahawk
  № 10  
Ответить с цитированием
Aquahawk
 
Аватар для Aquahawk

Регистрация: Nov 2010
Адрес: Москва
Сообщений: 915
Записей в блоге: 4
Отправить сообщение для Aquahawk с помощью ICQ Отправить сообщение для Aquahawk с помощью Skype™
Цитата:
огромного
Цитата:
без лагов
извините, придётся ограничиться разумным.
__________________
:)

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

Теги
air , bitmapdata , copypixel , Retina
Опции темы
Опции просмотра

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

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


 


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


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