如何利用FLASH 10的GPU加速功能
?先看看这个:http://hi.baidu.com/gideon_hwuang/blog/item/d49e5c26618df9118a82a1d5.html ?原文如下: 作者: gideon hwuang 默认情况下,硬件加速合成在目前的Flash Player的10版本当中是关闭的,这样做是正确的。您应该只需要使用GPU的撰写如果您的应用程序真正从中受益。 ? 最后一句说的真含糊啊 所以我又查了查: 从adobe对flashplayer10的新功能宣传的话从可以看出来只有位图和视频才能利用GPU加速, 能优化位图动画也行啊,就是不知道怎么flex里什么动画算是位图动画,有查到有高人说: 开了不一定快。不同机子 不同显卡有不同效果。
再查查: http://www.kaourantin.net/2008/05/what-does-gpu-acceleration-mean.html ? 对flash10号称的硬件加速做一些解释。 最近发布的flash 10 beta版包含两个新的窗口模式(wmode),这两个模式能够控制flash player将图形渲染到屏幕的方式。 以前有以下三种模式: normal: transparent:该模式会在浏览器的HTML渲染层面做alpha混合,显示swf文件下面的html元素。alpha混合通常会严重消耗CPU资源,因此,一般建议不要使用这种模式。在IE下并不是真正的穿透了像素,而是使用了浏览器提供的 DirectDraw context 将内容绘制成swf的一部分。 opaque: 现在来看看两种新模式: direct: 这种模式会尝试以最快的方式或是直接将图形渲染到屏幕。大多数情况下,它会忽略浏览器的一些诸如计算和html标签的重叠之类的请求。该模式的一个典型应用是视频回放。在windows模式下,该模式在vista系统中使用 DirectDraw 或者 Direct3D,在OSX和Linux下用OpenGL。使用该模式不会影响渲染效果。 gpu: 现在就一些让人疑惑的地方做出解释: 1、Flash Player使用Video card进行渲染并不意味着一定会更快,实际上在很多情况下反而会变慢。 还是很不解?那么就对了,这意味着你有这和一般人对GPU一样的理解。 需要交给GPU计算的内容必须按照GPU的功能需求进行精确的设计。在Flash内部的栅格化器能够针对GPU对数据做一些优化(这些优化是GPU不能完成的),那么开发者应该要知道GPU是如何工作的,并将自己需要交给GPU渲染的内容做出相应的调整。我知道这种阐述了无用的,除非我能够提供一些指导,在不久的将来我们会提供的。 2、GPU模式对硬件的需求也是很呆板的。你的显卡至少要支持DirectX9,本质上对硬件还有诸如在Vista下允许Areo Glass等需求。Aero Glass 涉及到一些我们需要的硬件功能。因此,如果Aero Glass不能正常工作,那么不管是否是GPU模式,Flash Player都无法正常工作(需要申请一点:gpu模式并不需要 Aero Glash,我这里只是谈谈硬件需求)。 3、GPU模式下像素的保真度是无法保证的,你必须要知道在不同的机器上显示可能会出现偏差,甚至色彩不协调,包括视频。未来我们会对这方面做出改善。我们会尽力减少这些瑕疵,但是请记住,有些东西我们是无法控制的。 这里有个例子,左边是gpu模式下的现实效果,右边是normal模式。这是一个320*240的视频,视频显示了几个文字。毫无疑问gpu模式下渲染效果要好很多,因为它使用了UV渲染。 ? 4、帧率超出屏幕分辨率的情况。如果你设置的帧率大于60,那么肯定是没有意义的,gpu和direct模式都是这样的。在大多数情况下,你的帧率都不会超过50-55。 5、请不要草率的使用gpu或者direct模式。这些新模式可能会让你付出昂贵的代价,它会疯狂的消耗cpu和内存,直到你的浏览器卡住不动。你最好控制在一个html种最多只有一个swf使用这两种模式。 6、显卡的这些功能将我们和生产商以及驱动联系起来了。需要告诉你的是,如果你使用了这种新模式,那么由于硬件不兼容以及软件栈中的各种bug的原因,会有大量的用户都无法看到你的内容。 终究,flash beta版本中并没有最大限度的使用gpu的功能,我们在不断努力,但是仍然需要一段很长的时间。 ?如果以后我放弃了flash,我想理由也就是性能问题,gpu的问题吧 (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |