Flash Player 10.1 硬件加速技巧

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值