6

显然,在 Flash 10 中,您可以使用 GPU 来计算着色器,如果用户没有兼容的 gpu,它就会退回到 cpu。问题是cpu计算过滤器的速度很慢,如果它不能使用gpu,它会很好检测,并且使用更少的效果。如果使用 gpu 渲染,是否可以使用 actionscript 进行检测?

4

6 回答 6

4

为什么不测量做某事所花费的时间,如果花费的时间太长,你就禁用一些效果。

于 2009-02-12T19:34:34.630 回答
2

如果着色器是指使用像素弯曲工具包编译的东西,它们不会在 GPU 上运行。看:

http://www.kaourantin.net/2008/05/adobe-pixel-bender-in-flash-player-10.html

于 2009-02-13T09:33:09.263 回答
1

据我所知,没有用于此的 API,我认为这就是 Adob​​e 建议将其使用限制为每个 HTML 页面 1 个 SWF 并不鼓励将其用于横幅等的原因,因为它对 CPU / 内存来说可能非常昂贵。

我想一个优雅的解决方法是让你的用户选择。

于 2009-02-12T19:01:12.043 回答
1

Adobe在非windows平台上依赖OpenGL来使用硬件加速,而在OpenGL中则没有这种区别。为了保持跨平台的一致性(这是 Flash 的优势之一),这是可取的行为。

于 2009-02-12T19:28:21.620 回答
1

在 ActionScript 3 中有Capabilities类。也许你在那里找到了你要找的东西。

于 2009-02-12T21:56:19.657 回答
1

要检测 GPU 加速,您可以读取wmodeGPU stage 属性。

于 2009-09-28T04:42:14.247 回答