![]() |
|
||||||||||
|
|||||
|
У тебя тест не правильный) Флеш плеер одну и ту же битмап дату не будет много раз грузить. В общем, ты загрузил всего одну картинку, а для остальных хэш проверился и фактической загрузки не было.
Вот тебе реальный тест с разными картинками package { import flash.display.Loader; import flash.display.Sprite; import flash.events.Event; import flash.filesystem.File; import flash.net.URLLoader; import flash.net.URLRequest; import flash.utils.getTimer; public class MultiloadTest extends Sprite { private var _loader: Loader = null; private var _curIndex: int = 0; private var _numImages: int = 0; private var _paths: Array = []; private var _imageFiles:Array = null; private var _isAsync: Boolean = false; private var _startTime: int = 0; public function MultiloadTest() { var imagesDirectory: File = File.applicationDirectory.resolvePath("images"); _imageFiles = imagesDirectory.getDirectoryListing(); _numImages = _imageFiles.length; //loadQueue(); loadAsync(); trace("num images", _numImages, _isAsync); } private function loadAsync():void { _isAsync = true; _startTime = getTimer(); for (var i:int = 0; i < _numImages; i++) { var file:File = _imageFiles[i]; var loader:Loader = new Loader(); loader.contentLoaderInfo.addEventListener(Event.COMPLETE, onComplete); loader.load(new URLRequest(file.nativePath)); } } private function loadQueue():void { _isAsync = false; _loader = new Loader(); _loader.contentLoaderInfo.addEventListener(Event.COMPLETE, onComplete); for (var i:int = 0; i < _numImages; i++) { var file:File = _imageFiles[i]; _paths.push(file.nativePath); } _startTime = getTimer(); _loader.load(new URLRequest(_paths[_curIndex])); } private function onComplete(e:Event):void { _curIndex++; if (_curIndex >= _numImages) { trace("compelte in:", getTimer() - _startTime, "ms"); } else if (!_isAsync) { _loader.load(new URLRequest(_paths[_curIndex])); } } } } Вот результаты тестов num images 210 false compelte in: 7461 ms num images 210 true compelte in: 828 ms Разница в 9 раз. Более чем существенная. А ведь это всего 210 маленьких картинок, общим весом чуть больше 11 мегабайт. Вообще, странно, я знаю, что ты далеко не глупый человек, и я честно не понимаю, почему до тебя сразу не дошло то, что в твоем случае ты грузишь картинку, и ждешь ее полной загрузки прежде чем начать загрузку новой, а со множеством загрузчиков ты сразу грузишь столько картинок, сколько вообще возможно. Во много потоков. Естественно они загрузятся нанмого быстрее, чем поочереди
__________________
Ко мне можно и нужно обращаться на ты) Последний раз редактировалось caseyryan; 06.12.2016 в 21:08. |
![]() |
Часовой пояс GMT +4, время: 12:21. |
|
|
« Предыдущая тема | Следующая тема » |
|
|