Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/flash/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Flash 为什么位图的性能优于vector,as3?_Flash_Actionscript 3 - Fatal编程技术网

Flash 为什么位图的性能优于vector,as3?

Flash 为什么位图的性能优于vector,as3?,flash,actionscript-3,Flash,Actionscript 3,为什么位图优于矢量? 我的Flash适用于大型信息亭,具有富媒体要求,必须准确地用作计数器。我想保持一切向量以实现可伸缩性 当我做一个简单的FPS测试时,我注意到我的位图版本执行得非常好,并且全矢量文件的速度明显较慢 请解释 •矢量性能我可以应用哪些图形标准使用矢量的解决方案 信息亭测试动画 结果 •只有文本和位图表现良好,而不是矢量 •背景和云可以,但更多的层会使它变慢当你了解向量是什么时,这是非常合乎逻辑的 矢量是计算机在屏幕上绘制多个点并将这些点连接起来并着色的可视化表示。这就是矢量

为什么位图优于矢量?

我的Flash适用于大型信息亭,具有富媒体要求,必须准确地用作计数器。我想保持一切向量以实现可伸缩性

当我做一个简单的FPS测试时,我注意到我的位图版本执行得非常好,并且全矢量文件的速度明显较慢

请解释
•矢量性能
我可以应用哪些图形标准
使用矢量的解决方案


信息亭测试动画


结果
•只有文本和位图表现良好,而不是矢量

•背景和云可以,但更多的层会使它变慢

当你了解向量是什么时,这是非常合乎逻辑的

矢量是计算机在屏幕上绘制多个点并将这些点连接起来并着色的可视化表示。这就是矢量放大和缩小看起来都很好的原因

您可能意识到的位图在flash中被视为像素数据。一些只是图片的东西

当屏幕渲染器渲染矢量时,在每次屏幕重画时,它必须绘制、映射并重新创建矢量——每次都要计算矢量。 使用位图,它是一幅图片,因此节省了所有试图重新绘制复杂对象和绘制100个点的计算能力

如果将所有内容都缓存为向量,则不会注意到最滑动部分的差异。在舞台上绘制的任何内容-选中“缓存为位图”复选框,以及在代码中生成并作为子项添加的任何新项目,
cacheAsBitmap=true

这里有一个很棒的小把戏,应该会很管用

你仍然可以使用向量。但是,将它们添加到后台时,请选中“属性”面板中“显示设置”下的“缓存为位图”复选框

在您可以编写的代码中

myCloud.cacheAsBitmap=true

该属性可用于每个可视对象

当舞台上的对象正在做旋转和淡入淡出等简单的事情时,这种方法效果最好——在执行movieclip嵌套动画和类似的东西时,效果往往不太好,因为当然,对象仍然需要在每一帧重新绘制。尽管你仍然会看到很大的进步


以下是谷歌搜索“as3缓存为位图”页面上的一些URL

displayObject的实时文档-您将在第一个表中看到它


好吧,您仍然需要渲染输出。对于位图,它只是一个blit(内存拷贝),而对于向量,它是实际的计算和像素生成。使用基于像素的显示技术,位图总是比矢量更快。@Max我强烈反对。我绝对希望矢量在Flash中的表现优于位图。@迈克尔:为什么?我知道Flash有望成为一个优秀的矢量图形渲染器,但这仍然是一个额外的步骤。@Micheal-对不起,伙计,但是位图每次的速度都超过矢量。如果你从你的库中产生了1000个旋转的东西,这是一个向量,你会注意到机器在使用位图,你不会注意到帧率下降。与往常一样,答案是“视情况而定”。只有当精灵不旋转、不连续缩放或alpha设置为<1时,才将cacheAsBitmap设置为true,否则每次更改都必须重新绘制图像,这是一个代价高昂的问题。@Allan这是一个重要的问题,经常被忽略。变换图形对象(x或y平移除外)时,缓存的位图不再有效,必须重新计算。如果你正在改变你的图形,比如说,每一帧(或者经常是模糊的),cacheAsBitmap会让事情变得更糟,而不是更好。不要试图在不注意Allan评论的情况下使用此答案中的建议!你有推荐人吗?这样我就可以仔细阅读了?我总是有点相反的经历。@甘油,谢谢。CasheAsBitmap为我的矢量动画提供了充分的性能。对于在舞台上移动物体而不使用alpha或缩放,我知道它非常有效。