Oct 27, 2008

Reflexionando sobre el framerate

Empecé a hacer mis primeros pinitos en Flash allá por el 2001, y hasta principios del 2004 el tema del framerate fue un factor completamente irrelevante para mí. Tanto que no fui consciente hasta mucho tiempo después, cuando recuperé las películas y vi que todas corrían a 12 fps (el valor por defecto del programa). Sólo una web cuyo esqueleto había iniciado un diseñador funcionaba a 20 fps.

En marzo de 2004 me sumé al proyecto Mahou en Herraiz&Soto, y la web corría a 15 fps. Nueve meses después lanzamos una nueva versión del site que lo hacía a 25 (supongo que los diseñadores y animadores meterían mucha presión).

Durante el 2005 y parte del 2006 todas las películas que trabajábamos en la agencia solían correr a 25 frames, pero luego un compañero empezó a utilizar como cifra mágica el 31, ya que había oído el rumor que las películas a 21 y 31 funcionaban mucho más optimizadas. Recuerdo que me parecía completamente absurdo, pero el resto de gente fue pasándose a los 31, menos yo, que me pasé a los 30 (pa chulo yo xDD)

21,31… el framerate mágico

Durante algunos años el Flash Player funcionó rematadamente mal en Mac debido a un bug del sistema operativo (los temporizadores eran imprecisos y los cálculos se resentían disminuyendo el framerate). Resultó que un framerate de +1 ayudaba a cuadrar las operaciones y el rendimiento del Player se asemejaba entonces al que tenía en Windows.
Lo gracioso fue que este error fue subsanado con el Flash Player 6, pero el rumor del “número mágico” continuó extendiéndose.

En el 2007 ya me había bajado del burro y utilizaba 31 frames en todos mis proyectos. Sólo con la salida del Player 9 y AS3, con su gran incremento de rendimiento, me decidí a cambiarlo. Así pues, para mi primera aventura en AS3 utilicé 60 fps. Era un site que combinaba mucha animación y programación, y la verdad es que me decepcionó un poco porque en el navegador, a pesar de verse más o menos fluido, caía muchísimos frames. Con tanto bombo que le habían dado a la AVM2 creí que rendiría mejor.

Después de esto volví a los 31 y hasta el día de hoy todo lo hago con este valor. Considero que una peli que funciona entre 25 y 30 frames es ideal, y ya en algún artículo he apuntado que al correr un swf en el navegador suele caer 2 o 3 frames, así que 31 menos la pérdida da un muy buen resultado.

Pero la gran sorpresa que no me llevé con el Player 9 me la he llevado con el 10: no sólo no pierde frames sino que llega a marcar alguno de más y todo. He probado todo tipo de experimentos, y algunos que consumen muchos recursos y en el navegador bajaban hasta 24/25, ahora se quedan tranquilamente oscilando entre 31/32.

Han sido muchas las veces que he abierto un proyecto en Flash y he pensado “¿Qué framerate utilizo?”, y por más años que pasen parece ser que esta pregunta seguirá ahí.

Y tú, ¿tienes alguna preferencia a la hora de elegir framerate?

Información del artículo

Post publicado el 27 de October de 2008 a las 1:11 por llops

Categorias: General

Etiquetas: ,

Comparte

6 comentarios

  • Alrevez

    hmmm 29, pero en realidad lo hacìa por que las animaciones por código (mcTween, TweenLite etc) eran mas fluidas, pero nunca había pensando en el tema del navegador y la caìda de los frames.

  • Yo uso entre 25 y 30. Pero la lógica la saqué de donde trabajé durante un tiempo. Tampoco mirábamos la caída de frames, sino los estándares de televisión PAL (25fps) y NTSC (30fps) para elegir el valor de nuestra película.

    Saludos!!

  • Hector

    Es completamente cierto que el AVM2 es una maravilla, es en algunos casos hasta 20-25 veces más rápido. El problema es que hay que ser bastante cauteloso con la creación y destrucción de objetos, hay que tener en cuenta que en el tema de renderizado es igual a la AVM1 y por tanto a veces en ciertas animaciones hay que utilizar las clases Bitmap y BitmapData, hay que tener en cuenta muchos otros trucos de velocidad de procesamiento como que hacer x * .5 es más rápido que x / 2, etc, etc. Hacer un SWF 100% optimizado requiere bastante tiempo, y hay algunas cosas que podrían ser mejorables, pero merece la pena en ocasiones. Aún así es cierto que el Flash 10 es una maravilla en muchos aspectos de renderizado, además se pueden usar Shaders para mejorar el procesamiento de operaciones complejas, así que también puede ayudar a veces en código.

  • Pues a mí me pasó lo mismo que a Dani, empecé con 12 luego 24 luego el famoso 31.
    Luego descubrí los experimentos de Uncontrol donde tenía experimentos hasta a 120fps!!! y empecé a hacer webs enteras a 60.

    Hasta hace poco que he vuelto al 31 porque con los TweenLite responde bastante bien.
    Últimamente no he probado de cambiar a otro valor, pero con el Flash10 no sé… quiza prueba de subirlo un poco.

  • La verdad que yo siempre he puesto 31 porque me contaron que era el mejor rate en general para todas las plataformas. Si he vivido engañado, no lo sé, la verdad.

    Suelo usar 31 aunque alguna vez que me he tenido que pegar con animaciones “hechas a mano” suelo subir la velocidad, al doble por lo menos.

    Para usar tweens también he venido usando 31. Lo que no he probado todavía es a modificar los fps dinámicamente en AS3, http://theflashblog.com/?p=237

    Saludos

  • Ken

    Cuando mi profesor me eneseño AS3, me dijo que la mayoria de las peliculas se trabajaba a 24 fps, y yo le tome la palabra y luego corrobore que si, la industria del cine trabaja a esa cantidad. Ya que a esa cantidad el cerebro ya no percibe las imagenes como fotogramas sino como movimiento. Y asi hasta el momento, ahora que entrado a trabajar para una empresa aqui optan por usar 30 fps ya que la seña televisiva trabaja a este valor (algunas), y asi la eleccion de fps tiene un toque artistico (por lo del cine) y cientifico (por el ojo humano).