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

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

Версия для печати  Отправить по электронной почте    « Предыдущая тема | Следующая тема »  
Опции темы Опции просмотра
 
Создать новую тему Ответ
Старый 26.04.2012, 13:30
mikhailk вне форума Посмотреть профиль Отправить личное сообщение для mikhailk Найти все сообщения от mikhailk
  № 1  
Ответить с цитированием
mikhailk
 
Аватар для mikhailk

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

Перед открытием локации подкачиваются растровые данные для базовой анимации объектов на локации (условно - 200кб). После открытия локации в фоновом режиме подкачиваются растровые данные для расширенной анимации (приблизительно 700-1000кб). Подкачиваются - это значит, что загружаются изображения (10-20кб каждое) и на их основе создаются массивы битмапдат, которые составляют покадровую анимацию объектов по фазам.

Вопрос - можно ли как-то снизить нагрузку на плеер в момент этой загрузки расширенной анимации? Там, конечно, копейки, но на слабых машинах все равно немного чувствуется.

Первая мысль, которая мне приходит в голову - это грузить не непрерывным потоком, а с некоторым таймаутом перед запросом следующего изображения. Например, 1000мс.

Вторая мысль - это сделать в подрузчике старт-стопный механизм, отслеживать запуск ресурсозатратных операций и на этот период останавливать подгрузку, а затем возобновлять (можно, конечно, просто на ФПС повеситься, но практика показывает, что это не надежно).

ЗЫ. Необходимости подгрузить срочно нет. Есть необходимость подгрузить незаметно.

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

блогер
Регистрация: Oct 2005
Адрес: Днепродзержинск - город Брежнева и других логопедов
Сообщений: 1,421
Записей в блоге: 4
Отправить сообщение для -De- с помощью ICQ Отправить сообщение для -De- с помощью Skype™
Возможно, тормоза создает больше не загрузка, а раскодирование. Попробовать грузить изображения урллоадером, а раскодировать и создавать битмапы потом.
__________________
Бобры отвечают на вопросы не потому, что знают на них ответы; они отвечают потому, что их спрашивают.

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

Регистрация: Feb 2009
Адрес: Гы...поди, найди!
Сообщений: 853
Записей в блоге: 1
Возможно тормоза из-за большого количества одновременных загрузок? Может попробовать грузить небольшими партиями 5-7 штук?
__________________
http://www.chessmax.ru

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

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

Насчет раскодирования - не знаю. Я ничего специально не делаю (в смысле, ничего дополнительного не создаю - беру то, что лежит в лоадере):

Код AS3:
private static function onCurrentImageLoaded(e:Event) : void
{
	var image:Bitmap = Bitmap(loader.content);
	var bitmapData:BitmapData = image.bitmapData;			
 
	currentPhaseImages[currentImageIndex] = bitmapData;
 
	currentImageIndex++;
	if (currentImageIndex < objectsForLoading.length) loadNextImage();
	else onCurrentPhaseLoaded();
}
Грузятся, кстати, png-шки с альфой.


Последний раз редактировалось mikhailk; 26.04.2012 в 15:34.
Старый 26.04.2012, 15:24
Newred вне форума Посмотреть профиль Отправить личное сообщение для Newred Посетить домашнюю страницу Newred Найти все сообщения от Newred
  № 5  
Ответить с цитированием
Newred
 
Аватар для Newred

Регистрация: May 2010
Адрес: Киев, Украина
Сообщений: 140
Записей в блоге: 2
Цитата:
и на их основе создаются массивы битмапдат
Расфасовку массивов делать в несколько подходов ? Сама загрузка тормозить не должна.

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

Регистрация: Nov 2009
Адрес: СПб
Сообщений: 2,236
А собственно, никакой расфасовки-то нет.
Все происходит в той функции, код которой я привел (onCurrentImageLoaded).
Когда все изображения фазы загружены, массив currentPhaseImages передается на хранение, а для загрузки следующей фазы создается новый массив.

Старый 26.04.2012, 15:42
K.A.T.A.F.A.L.K.E.R вне форума Посмотреть профиль Отправить личное сообщение для K.A.T.A.F.A.L.K.E.R Найти все сообщения от K.A.T.A.F.A.L.K.E.R
  № 7  
Ответить с цитированием
K.A.T.A.F.A.L.K.E.R
 
Аватар для K.A.T.A.F.A.L.K.E.R

Регистрация: Jul 2005
Адрес: Go, Ukraine!
Сообщений: 787
Отправить сообщение для K.A.T.A.F.A.L.K.E.R с помощью ICQ
ImageDecodingPolicy смотрели?
__________________
...я люблю людей!..

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

Регистрация: Nov 2009
Адрес: СПб
Сообщений: 2,236
Цитата:
ImageDecodingPolicy смотрели?
Нет.
Ну да, у меня стоит по умолчанию ON_LOAD.
Можно, конечно, поставить ON_DEMAND, но мне это ничего не даст - он же все равно отработает, когда я полезу в loader.content.

Разве что это позволит развести два процесса - загрузки и декодирования...
Но если я запущу массовое декодирование - получатся те же тормоза, вид сбоку.

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

блогер
Регистрация: Oct 2005
Адрес: Днепродзержинск - город Брежнева и других логопедов
Сообщений: 1,421
Записей в блоге: 4
Отправить сообщение для -De- с помощью ICQ Отправить сообщение для -De- с помощью Skype™
Ну я в общем про декодирование писал.
Возможно, есть более подходящее время для тормозов у вас, ну там собсно при открытии локации например.
__________________
Бобры отвечают на вопросы не потому, что знают на них ответы; они отвечают потому, что их спрашивают.


Последний раз редактировалось -De-; 26.04.2012 в 16:06.
Старый 26.04.2012, 16:16
mikhailk вне форума Посмотреть профиль Отправить личное сообщение для mikhailk Найти все сообщения от mikhailk
  № 10  
Ответить с цитированием
mikhailk
 
Аватар для mikhailk

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


Но, в принципе, всем спасибо. причины понятны. Видимо, просто добавлю таймаут при загрузке, тормоза будут разнесены по времени и не так заметны.

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

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

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


 


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


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