【发布时间】:2013-11-03 11:57:57
【问题描述】:
我在 Flash CS6 中使用 ActionScript 3 和 Adobe AIR 3.4
我正在尝试将文件系统中的图像加载到位图中。
我当前的代码是:
var loader = new Loader();
loader.contentLoaderInfo.addEventListener(Event.COMPLETE, loadComplete);
loader.load(new URLRequest("assets\\" + filename));
private function loadComplete(e:Event):void
{
//add to bitmap
bitmap = new Bitmap();
bitmap.bitmapData = new BitmapData(loader.width, loader.height, true, 0x000000);
bitmap.bitmapData.draw(loader);
}
但是,bitmapData.draw 的性能非常低效(图像为 2048x1536)。 我试过了:
bitmap.bitmapData = e.target.content.bitmapData;
但不影响性能。而且还是很慢。
如何将加载器中的图像加载到位图中而不会出现如此缓慢的性能。
【问题讨论】:
-
使用 drawWithQuality 和使用 StageQuality.LOW 对提高性能没有任何帮助
-
是绘制慢还是文件加载慢?您区分这两个过程之间的时间了吗?此外,慢是相当模糊的,用秒或毫秒等实时单位表示延迟会很有帮助。
-
绘制很慢,加载很快。我不知道绘制的确切时间,但它是 1-2 秒(这不好,因为我正在编写游戏)
-
你是如何区分绘制时间和加载时间的?您多久加载/绘制此位图?
-
我注释掉了抽奖代码,没有等待时间
标签: performance actionscript-3 flash air bitmap