Flash Player 10 y Core Animation
El Jefe Técnico de Adobe, Kevin Lynch, prometió hace muy pocos días un mejor rendimiento de Flash Player 10.1 sobre la plataforma Mac, ya que el nuevo reproductor aprovecha Core Animation, aunque solo bajo ciertas circunstancias. Aún así, es un gran avance para la reproducción de contenidos Flash en el Mac.
El ejecutivo de Adobe indicó que esta versión del reproductor de contenidos Flash funciona ya "casi igual" que la versión para Windows a la hora de consumo de recursos del ordenador, un problema que antes sufrían los usuarios de los ordenadores de Apple.
Core Animation
Según Apple, Las sorprendentes ventanas en cascada de Time Machine y la fluida animación del Dock tridimensional reflectante son posibles gracias a la tecnología Core Animation de Mac OS X. Core Animation permite combinar la potencia de las tecnologías de gráficos de Mac OS X mediante la composición simultánea de capas de texto, gráficos y vídeo empleando potentes técnicas de animación por fotograma clave. Core Animation aprovecha las prestaciones de la GPU y de las CPU multinúcleo para generar dinámicamente estas capas, que incluyen transparencias y efectos de filtros de Core Image. Además, permite a los desarrolladores potenciar sus aplicaciones para brindar al usuario increíbles animaciones y visualizaciones de calidad sin necesidad de dominar técnicas avanzadas de animación y gráficos. A todos los efectos, Core Animation permite una reproducción gráfica mas fluida aprovechando el hardware existente tanto en el procesador como en la tarjeta gráfica.
El nuevo reproductor de Flash 10.1, que todavía está en fase beta y no tiene una fecha oficial de lanzamiento (aunque se espera que estará en manos del público en general durante la primera mitad del año) aprovecha Core Animation lo que supone un descenso importante en el consumo de recursos del ordenador. Según Lynch, el consumo de recursos descendería a la mitad bajo la plataforma Mac reproduciendo Video 480p bajo Flash.
El nuevo Plugin, además, está desarrollado completamente en Cocoa y solo hace una llamada al código Carbon para Firefox y Opera, que todavía no son aplicaciones totalmente Cocoa.
Sin embargo, hay algunas luces y sombras en la implementación de esta nueva versión bajo Mac OS X y en el caso de los navegadores, que es donde mas se reproduce contenidos de este tipo en el ordenador, hay que tener en cuenta que no todos los navegadores van a poder aprovechar la potencia de Core Animation, aunque si sufran un aumento de rendimiento.
El problema es la jungla que tiene Apple a la hora de mostrar en pantalla los contenidos, con hasta 4 formas diferentes de hacerlo (contra 1 sola de Windows).
En el Mac disponemos de
- QuickDraw: modo básico que por ejemplo usa Opera, las versiones antiguas de Firefox y Safari
En adición a esos 4 modelos de representación en pantalla, Flash añade tres formas de presentar contenidos según el uso que le den los diseñadores tal como se especifica en vmode:
- Normal
En la situación actual de Flash 10, y bajo algunos navegadores, la representación de estos tres tipos de contenido queda de la siguiente manera:
| Safari 4 | Firefox 3 | Opera 10 | |
| Normal | Quartz 2D | QuickDraw | QuickDraw |
| Opaco | Quartz 2D | QuickDraw | QuickDraw |
| Transparente | Quartz 2D | QuickDraw | QuickDraw |
Con la nueva versión de Flash Player 10.1 la situación cambia, pero solo con algunos tipos de contenido:
| Safari 4 (*) | Firefox 3 | Opera 10 | |
| Normal | Core Animation | Quartz 2D | QuickDraw |
| Opaco | Quartz 2D(**) | Quartz 2D | QuickDraw |
| Transparente | Quartz 2D(**) | Quartz 2D | QuickDraw |
* Actualmente bajo las versiones en desarrollo de Webkit ya que el soporte para Core Animation está en desarrollo
** Core Animation se usa cuando el objeto Flash está en la frontal del contenido HTML
¿Cuáles son los problemas con Quartz 2D?
Según Apple, Quartz 2D es un motor de dibujo avanzado en dos dimensiones disponible para el desarrollo de aplicaciones para el iPhone y para todas las aplicaciones de Mac OS X fuera del Kernel. Quartz 2D permite un render ligero en dos dimensiones a bajo nivel con una gran fidelidad independientemente de la pantalla o del dispositivo de impresión.
Quartz 2D, sin embargo, no está diseñado para aplicaciones multimedia, como la animación o la reproducción de vídeo. Allí es donde brilla el rendimiento de OpenGL, Core Video y Core Animation.
Safari usa Quartz 2D para dibujar el contenido HTML como contenido estático en la mayoría de los casos y todo va perfecto hasta que Flash entra en la ecuación. Por ejemplo cuando se reproduce un documento Flash usando el sistema de dibujado Quartz 2D tiene que realizarse bajo la completa supervisión del navegador y como parte del proceso, el mismo navegador pinta en cada Frame el HTML que hay debajo aunque luego no se muestre ya que Flash Player solicita que esa área se renderice con el contenido del archivo Flash.
Con Core Image, en el caso de páginas con HTML complejo y CSS avanzadas, las dos solicitudes que implican el renderizado del HTML bajo el documento de Flash por cada Frame mostrado y la solicitud del redibujado por parte de Flash Player de sus propios contenidos sobre ese HTML simplemente desaparecen.
Adobe ha estado trabajando en la nueva versión de Flash Player 10.1 para integrar Core Animation intentando solucionar los problemas de rendimiento del reproductor bajo Mac aunque este trabajo no se ha realizado solo por parte de Adobe: los ingenieros de Apple también han colaborado en esta integración.
Tinic Uro, ingeniero de Flash Player en Adobe, tiene esperanza que en futuras versiones de Flash Player se aproveche las ventajas de OpenCL sin la necesidad del requerimiento de ningún ajuste especial de vmode.
Según Uro, la nueva implementación de Flash Player sobre Core Animation no va a significar la panacea para todos los problemas de rendimiento de Flash Player, pero va a suponer un pequeño salto en la dirección correcta que permita al usuario mejorar la experiencia de navegación sobre páginas cada vez mas complejas.
Más información en kaourantin.net , Apple Wikipedia (Quartz 2D). En faq-mac: Apple y Adobe siguen bailando tangos, aunque se pisen alguna vez

Y eso ya ocurría en Tiger, y ahora en Snow, aun después del cambio de placa base por el problema de la NVIDIA 8600GT, le ha subido la temperatura media unos 10º (incluso en estos días de frío es difícil ver la CPU por debajo de los 60º y el GPU Diode por debajo de los 70º sólo con Firefox abierto), por lo que miedo me da ver un simple vídeo de Youtube.
Y luego hay quien pregunta por qué no tiene Flash el iPhone.