显然,在Flash 10中,您可以使用GPU来计算着色器,如果用户没有兼容的gpu,它会回退到cpu。 问题是cpu计算过滤器的速度很慢,检测它是否不能使用gpu并使用较少的效果会很好。 如果使用gpu渲染,是否可以使用actionscript进行检测?
答案 0 :(得分:4)
为什么不测量做某事所花费的时间,如果花了太长时间,就会禁用一些效果。
答案 1 :(得分:2)
如果使用着色器表示使用像素弯曲工具包编译的内容,则它们不会在GPU上运行。参见:
http://www.kaourantin.net/2008/05/adobe-pixel-bender-in-flash-player-10.html
答案 2 :(得分:1)
据我所知,没有这方面的API,我认为这就是为什么Adobe建议将每个HTML页面的使用限制为1个SWF,并且不鼓励在横幅等中使用它,因为它可以非常昂贵的CPU /内存。
我想一个优雅的解决方法是让用户选择。
答案 3 :(得分:1)
Adobe在非Windows平台上依赖OpenGL来使用硬件加速,而在OpenGL中没有这样的区别。为了保持平台的一致性(这是Flash的优势之一),这是理想的行为。
答案 4 :(得分:1)
在ActionScript 3中有Capabilities类。也许你找到了你想要的东西。
答案 5 :(得分:1)
要检测GPU加速,您可以阅读wmodeGPU阶段属性。