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

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

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

Регистрация: Oct 2006
Сообщений: 2,281
можно, но там ничего нет.

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

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

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

Регистрация: May 2008
Адрес: Питер
Сообщений: 385
Отправить сообщение для ZergMaster с помощью ICQ Отправить сообщение для ZergMaster с помощью Skype™
Ну да, видимо, на загрузке экономит, а память все равно выделяет для каждой новый кусок.
__________________
while(live()) { hope(); }

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

Регистрация: Jun 2012
Адрес: Новосибирск
Сообщений: 6,644
Записей в блоге: 4
Цитата:
Сообщение от Zebestov Посмотреть сообщение
Так и сделал перед тем, как написать. Сделал два Loader-а, грузанул картинку в один, по COMPLETE грузанул в другой, кинул оба на экран, диспознул первый, второй остался.


В плане обсуждаемого поведения Loader-а SA проигрыватель и AIR ведут себя одинаково (по крайней мере на мобилах, десктопный AIR я делал пару раз и конкретно с Loader-ом не работал вроде), а FileStream к теме отношения не имеет.

:P
Да, признаю, я не прав на счет BtimapData Кидайте в меня камнями



Сделал вот такой тест

Код AS3:
package {
	import flash.display.Bitmap;
	import flash.display.Loader;
	import flash.display.LoaderInfo;
	import flash.display.Sprite;
	import flash.events.Event;
	import flash.filesystem.File;
	import flash.net.URLRequest;
	import flash.net.URLVariables;
	import flash.text.TextField;
	import flash.text.TextFormat;
	import flash.utils.getTimer;
 
 
	public class URLLoaderTests extends Sprite {
 
		private var _currentUrl:	int 		= 0;
		private var _loader:		Loader 		= null;
		private var _urls:			Vector.<String> 	= new Vector.<String>();
		private var _useSameImages:	Boolean		= true;
		private var _textField:		TextField	= null;
		private var _startTime:		int			= 0;  
		private var _operation:		String		= "";
		private const _maxTests:	int			= 10;
		private var _curTest:		int			= 0; 
		private var _averageTimeSingle:int		= 0;
		private var _averageTimeMultiple:int	= 0;
 
		public function URLLoaderTests() {
			_textField						= new TextField();
			_textField.width 				= stage.stageWidth;
			_textField.height 				= stage.stageHeight;
			_textField.multiline 			= true;
			_textField.wordWrap				= true;
			_textField.defaultTextFormat 	= new TextFormat(null, 20, 0x000000);
			_textField.mouseEnabled 		= true;
			addChild(_textField);
 
			getUrls();
 
			useSingleLoader();
			//useMultipleLoaders();
		}
 
		private function getUrls():void {
			_urls.fixed = false;
			_urls.length = 0;
			var directory:File = File.desktopDirectory.resolvePath("images" + File.separator + (_useSameImages ? "same" : "different"));
			var listing:Array = directory.getDirectoryListing();
			var totalFileSize:Number = 0;
			for each (var file:File in listing) {
				_urls.push(file.nativePath);
				totalFileSize += file.size;
			}
			_urls.fixed = true;
			log(_useSameImages ? "Используется одинаковая картинка" : "Используются разные картинки");
			log("Общий вес файлов в папке: " + Number(totalFileSize / 1024 / 1024).toFixed(2) + " Мб");
			log("Средний вес файла: " + Number((totalFileSize / 1024 / 1024) / listing.length).toFixed(2) + " Мб");
			log("Запускаемое количество тестов: " + _maxTests + ". Начали! \n");
		}
 
		private function useSingleLoader():void {
			_operation 			= _useSameImages ? "Одинаковая картинка (поочередно): " : "Разные картинки (поочередно): ";
			_currentUrl 		= 0;
			var loader:Loader 	= new Loader();
			loader.contentLoaderInfo.addEventListener(Event.COMPLETE, onLoadSingleComplete);
			//log(_operation + " начато");	
			loadNext(loader);
			_startTime 			= getTimer();
		}
		private function onLoadSingleComplete(e:Event):void {
			_currentUrl++;
			var loader:Loader = (e.target as LoaderInfo).loader;
			var image:Bitmap = e.target.content as Bitmap;
			loadNext(loader);
		}
 
		private function loadNext(loader:Loader):void {
			if (_currentUrl >= _urls.length) {
				if (_curTest < _maxTests) {
					_averageTimeSingle += (getTimer() - _startTime);
					useSingleLoader();
					_curTest++;
				} else {
					log(_operation + " Среднее время на " + _maxTests + " тестах " + (_averageTimeSingle / _maxTests) + " Мс Завершено! \n");
					_curTest = 0;
					if (_useSameImages) {
						_useSameImages = false;
						getUrls();
						useSingleLoader();
					} else {
 
						_useSameImages = true;
						getUrls();
						useMultipleLoaders();
					}
 
				}
				return;
			}
			loader.load(new URLRequest(_urls[_currentUrl]));
		}
 
		private function useMultipleLoaders():void {
			_currentUrl 		= 0;
			_operation 			= _useSameImages ? "Одинаковая картинка (кучей): " : "Разные картинки (кучей): ";
			for each (var url:String in _urls) {
				var loader:Loader 	= new Loader();
				loader.contentLoaderInfo.addEventListener(Event.COMPLETE, onLoadMultipleComplete);
				loader.load(new URLRequest(url));
			}
			//log(_operation + " начато");
			_startTime 			= getTimer();
		}
 
		private function onLoadMultipleComplete(e:Event):void {
			_currentUrl++;
			if (_currentUrl >= _urls.length) {
				if (_curTest < _maxTests) {
					_averageTimeMultiple += (getTimer() - _startTime);
					useMultipleLoaders();
					_curTest++;
				} else {
					log(_operation + " Среднее время на " + _maxTests + " тестах " + (_averageTimeMultiple / _maxTests) + " Мс Завершено! \n");
					if (_useSameImages) {
						_useSameImages = false;
						getUrls();
						useMultipleLoaders();
					} 
 
				}
 
				return;
			}
		}
 
 
		private function log(string:String):void {
			_textField.appendText(string + "\n");
			if (_textField.textHeight >= _textField.height) {
				_textField.setSelection(_textField.text.length, _textField.text.length);
			}
		}
	}
 
}

И вот такие получились результаты
Цитата:
Используется одинаковая картинка
Общий вес файлов в папке: 50.54 Мб
Средний вес файла: 1.87 Мб
Запускаемое количество тестов: 10. Начали!

Одинаковая картинка (поочередно): Среднее время на 10 тестах 962.1 Мс Завершено!

Используются разные картинки
Общий вес файлов в папке: 49.79 Мб
Средний вес файла: 1.35 Мб
Запускаемое количество тестов: 10. Начали!

Разные картинки (поочередно): Среднее время на 10 тестах 2253.1 Мс Завершено!

Используется одинаковая картинка
Общий вес файлов в папке: 50.54 Мб
Средний вес файла: 1.87 Мб
Запускаемое количество тестов: 10. Начали!

Одинаковая картинка (кучей): Среднее время на 10 тестах 282.7 Мс Завершено!

Используются разные картинки
Общий вес файлов в папке: 49.79 Мб
Средний вес файла: 1.35 Мб
Запускаемое количество тестов: 10. Начали!

Разные картинки (кучей): Среднее время на 10 тестах 282.7 Мс Завершено!
__________________
Ко мне можно и нужно обращаться на ты)

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

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

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


 


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


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