Flash Player 10.1 硬件加速技巧

   这里是翻译的文章部分摘录,原文是: http://www.adobe.com/devnet/flashplayer/articles/fplayer10_1_hardware_acceleration.html
   尽管硬件加速可以大幅度提升SWF的性能,但是SWF的内容设计依然重要。谨记一件事情:以前在软件渲染看起来一切正常的Flash内容,在硬件加速的环境下都有可能不正常工作。一下这些技巧可能帮助你在获益于Flash Player的硬件加速功能:
  • 避免在HTML页面中使用wmode=transparent 或者 womode=opaque这样的参数。这会导致性能下降,或者会导致一些音视频同步上面的问题,无论硬件加速是否开启。另外,许多平台的硬件加速不支持这些参数,他们会造成相当大的性能损失。、
  • 坚持使用standard和alpha混合模式。避免使用其他的混合模式,尤其是层混合模式。并不是所有的渲染模式都能在硬件加速模式下面被正确地重现。
  • 当使用GPU渲染矢量图的时候,它会将这个矢量图分解为大量小的三角形(就像3D模型一样)网格面,这个过程叫做网格化。这个性能开销并不大,不过它会随着矢量图的复杂度变大而随之升高。为了减少这些开销,最好避免使用morph shape(这个不知道怎么翻译才准确,虽然我知道是什么),因为它会在每一帧都会被重新网格化一次。
  • 避免出现自交的曲线、极度狭窄的曲线区域(例如一轮新月),以及一些在曲线边沿十分精细的图形。这些图形的网格化开销十分的可观。简单来说,例如有一个500X500的方形和一个100 x 10 的新月。 前者可以轻易地被GPU网格化,因为它就只有两个三角形,而后者需要极度多的三角形来模拟原来的矢量图,即使后者视觉上占用的像素比较少。
  • 避免更改图像的scale值,因为它同样会导致网格化的执行。
  • 避免在同一个区域内重绘图形(例如一些互相遮盖的DisplayObject)。在软件渲染模式下,无论有多少个图形重叠在一起,该重叠区域渲染的开销并不会有任何的增大。但是在硬件渲染模式下,这些重叠起来的显示对象会挨个地进行重绘,无论他们是否真正地被遮盖。如果有两个一模一样的矩形互相遮盖了,硬件渲染模式下,这两个矩形都会被重绘;而在软件渲染模式下,这个区域只会被渲染一次。尽管当前在软件渲染模式下,你没有感觉到重叠元件的重绘带来的开销,但是在硬件渲染模式下,它们会导致明显的性能下降。考虑将没有用的显示对象从显示列表中移除,而不是隐藏他们。
  • 避免使用一个大的填充色矩形当做背景,通过更改舞台颜色来达到你的效果。
  • 尽可能地避免使用默认的位图填充模式,而是使用位图印章模式(bitmap clamp mode)来获得更高性能。

你可能感兴趣的:(设计模式,html,工作,Flash,Adobe)