Pregunta

Al parecer, en Flash 10, puede utilizar la GPU para calcular shaders, y si el usuario no tiene una GPU compatible, se cae de nuevo a la CPU. El problema es que la CPU es muy lento para el cálculo de los filtros, que sería bueno para detectar si no se puede utilizar la GPU, y el uso de un menor número de efectos. Es posible detectar mediante ActionScript si se trata de utilizar el procesamiento de GPU?

¿Fue útil?

Solución

Para detectar la aceleración de GPU se puede leer la wmodeGPU propiedad stage.

Otros consejos

¿Por qué no medir el tiempo que tarda en hacer algo, y si se tomó demasiado tiempo, deshabilita algunos efectos.

Si por shaders que quiere decir cosas que compila con el kit de herramientas de Pixel Bender, que no se ejecutan en la GPU. Ver:

http: // www .kaourantin.net / 2008/05 / Adobe-pixel-Bender-en-flash-player-10.html

Por lo que yo sé no hay ninguna API para esto, yo creo que por eso Adobe recomienda limitar su uso a 1 SWF por página HTML y desalienta su uso en banners, etc., ya que puede ser muy caro para CPU / memoria.

Creo que es una solución elegante para que sus usuarios puedan elegir.

Adobe se basa en OpenGL en plataformas que no son Windows para utilizar la aceleración de hardware y no existe tal distinción en OpenGL. Para mantener la coherencia al otro lado de las plataformas (que es uno de los puntos fuertes de Flash) es un comportamiento deseable.

En ActionScript 3 existe la href="http://livedocs.adobe.com/flash/9.0/ActionScriptLangRefV3/flash/system/Capabilities.html" clase. Tal vez usted encuentra allí lo que estás buscando.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top