为什么位图优于矢量?
我的Flash适用于大型信息亭,具有丰富的媒体要求,必须能够准确地作为计数器运行。我想保留所有的矢量以实现可扩展性。
当我进行简单的FPS测试时,我注意到我的Bitmap版本表现完美,而且所有矢量文件都明显变慢了。
请解释
•矢量性能
•我可以应用的图形标准
•使用矢量的解决方案
KIOSK TEST ANIMATION
alt text http://www.ashcraftband.com/myspace/videodnd/daemonfps.jpg
结果
•只有文本和位图表现良好,而不是矢量
•背景和云可以,但更多的图层会减慢它的速度
答案 0 :(得分:6)
当你了解矢量是什么时,这是非常合乎逻辑的。
矢量是计算机的可视化表示,用于绘制屏幕上的许多点并连接点并将其着色。这就是为什么矢量看起来很好的放大和缩小的原因。
您可能知道的位图 - 在闪存中被视为像素数据。有些东西只是想象一下。
当屏幕呈现矢量时,在每个屏幕重绘时,它必须绘制并映射并重新创建矢量 - 每次都将其运行。 使用位图,嗯,它的图片,因此节省了所有计算能力,试图重绘复杂的对象和绘制100点。
你将一切都作为矢量缓存,你不会注意到最微不足道的差异。您在舞台上绘制的任何内容 - 选中“缓存为位图”复选框,以及代码中生成的任何新项目,并在每个视觉内容上添加cacheAsBitmap = true
。
这里有一个很棒的小伎俩应该可以治疗。
你仍然可以使用你的矢量。但是,将它们添加到舞台时,请检查属性面板中显示设置下方的“缓存为位图”复选框。
在您可以编写的代码中
myCloud.cacheAsBitmap = true
该属性适用于每个可视对象。
当你在舞台上拥有的对象做旋转和褪色等简单的事情时,这种方法效果最好 - 在执行movieclip嵌套动画和类似的东西时,它往往不那么有效,当然,对象仍然需要每一帧都重新绘制。虽然你仍会看到很大的进步。
以下是google搜索'as3 cache as bitmap'
的一些网址http://www.adobe.com/devnet/flash/articles/bitmap_caching_03.html
displayObject的实时文档 - 你会在第一个表中看到它。
http://livedocs.adobe.com/flash/9.0/ActionScriptLangRefV3/flash/display/DisplayObject.html