¿ActionScript es mas rapido?
3 seguidores
Bueno mi duda se centra en conseguir que las animaciones creadas en flash sean mas rapidas. He leido que programar las animaciones directamente en código actionscript origina peliculas mas rapidas que de ser desarrolladas a base de interpolaciones de movimiento. Siento el molestar tanto pero estoy aprendiendo sobre la marcha.Gracias de antemano por buestra colaboracion.
microbians Staff
También puedes usar framerates mas altos. Entre 35 y 120 ya ban bastante fluidas, claro que eso depende de lo cargada que esté la película y la maquina cliente lo potente que sea.
Hay formas de ejecutar una película a 12 frames por ejemplo y ejecutar una función más rápido que 12 frames/segundo pero al final el render de lo que pinte esa funcion será rendeado a 12 frames/segundo, al menos segun he podido comprobar en diversas pruebas, aunque tampoco pondría la mano en el fuego por esto ultimo.
d_noise
completando lo que dice microbians decirque que si es cierto que en algunos casos se obtenga un mayor framerrate, pero como no optimices bien el as es posible que se acabe saturando el procesador llegado a cierto punto de complejidad en la animacion...
prueba primero 120 fps...
cadrilo
Hola
El uso de actionscript para cierto tipo de efectos puede tornarse criminal si no se usa de manera eficiente, ya que si el número de instrucciones es muy alto en un fotograma concreto, no dará tiempo a que estas instrucciones se procesen durante el intervalo asigando para cada fotograma.
Como es lógico hasta que no se terminen de procesar todas las instrucciones no se pasa al siguiente fotograma dando lugar a un retraso del framerate que aún por encima ni siquiera se puede controlar, es decir, que tu lo puedes marcar a 100 fps (1 fotograma dura 1 centesima) que si el procesador tarda en un fotograma 2 centesimas el fps en ese instante es realmente 50. Lo pero es que este retraso dependera de la potencia del equipo, de los programas que se estén ejecutando, etc... dando lugar a una ejecución a trompicones.
Por ello a veces es mejor usar fps mas bajos y que nos aseguren que van a ser suficientemente holgados para ejecutar el codigo sin problema, y programar el efecto ajustado a ese frame rate, al menos conseguiremos que el efecto se visualice a una velocidad homogenea.
un ejemplo, quieres hacer un degradado con actionscript, es decir un alpha de 0 a 100. Lo quieres hacer en 1 segundo. Dos opciones:
a) frame rate a 100 y aumento el alpha 1 cada vez
b) frame rate a 20 y aumento el alpha 5 cada vez
Si por alguna causa, el procesador anda justillo, se va a saturar antes en el primer caso que en el segundo, y conseguiras el efecto contrario, ya que a 100 fps te ira mas despacio y a trompicones. esto es muy facil que suceda si por ejemplo le aplicas el alpha a una foto relativamente grande. Por otra parte la percepcion del ojo no afina tanto como para distinguir que el alpha aumente de 1 en 1 o de 5 en 5.
Otra cosa final. El mismo efecto hecho en interpolación va mas rápido que hecho por programación ya que cuando se ejecuta el flash ya "sabe" que se va a encontrar en cada fotograma, mientras que con actionscript las modificaciones se calculan sobre la marcha y eso provoca un consumo de recursos.
El problema es que con interpolación perdemos interactividad y es más laborioso en su edición, aparte que con programación podemos parametrizar para conseguir infinidad de variantes, pero si se puede con interpolación siempre sera mas rapido. Lo que si tendriamos es que con interpolacion la pelicula pesa mas.
Bueno, espero que quede claro, simplemente que para conseguir efectos complejos con AS hay que hacer las cosas con mucho cuidado..
Un saludo