Alpha会以某种方式影响Flex的性能吗?

时间:2011-06-12 16:58:34

标签: flex performance transparency

我计划将Flex应用程序上的所有控件(超过100个可见)设置为低于1的alpha,这将使它们有点透明,但我想知道这是否会影响应用程序的性能。所以:

  • 我想知道alpha是否会影响Flex应用程序的性能?

2 个答案:

答案 0 :(得分:4)

要添加@ Constantiner的答案,每个过滤器和效果(包括alpha)都会影响性能。在您使用的任何框架中都是这种情况......而不仅仅是Flex。如果你考虑一下,那就有意义了......

你看,没有任何效果或过滤器,显示的内容是直接的...它只是一个像素。如果像素位于Z轴上的每个其他像素的前面,则会显示该像素。如果没有,它不会被渲染。没有数学。计算机很容易管理。

在您的情况下,您正在更改Alpha。现在,对于前面的每个像素值小于1的像素,您还必须渲染到它后面的内容。您不仅需要渲染其背后的内容,还需要混合像素以获得透明效果。

当然,框架和GPU会为您处理这项工作......但这需要付出代价。我并不是说你不使用alphas。只要知道每次添加效果或滤镜(阴影,发光,alpha混合,模糊等),系统都需要为你做更多的数学运算。您的帧速率直接受此影响...但它也为您的用户带来了更好的体验。

利用这些知识做出明智的决定。效果/过滤器是否会增加价值? alpha是否像在滚动列表框中那样移动(导致重新渲染更频繁)?这个额外的开销会好吗?

修改 请参阅360Flex关于优化Flex性能的演示文稿。我认为这非常有用:http://zaa.tv/2011/06/360flex-denver-2011-flex-performance-tips-and-tricks/

答案 1 :(得分:2)

是的,它可能会影响性能。所以明智地使用它。

我的意思是如果你使用具有恒定背景的控件,它就没有问题。但是,如果您经常移动或添加/删除很多对象,那么您可能会遇到一些性能问题。