jueves, 16 de junio de 2011

Adobe Flash: Una mirada a los navegadores, códecs, y el rendimiento del sistema.

Para mucha gente todavía sería un desconocido (aunque se la pasen pegados a YouTube) de no haber sido por el bendito asunto del soporte (o la falta de soporte) en los sistemas de Apple (¿Las razones de Apple? entre otras, que flash es una plataforma cerrada, software propietario ...... no se rían), pero lo cierto es que está en todas partes (de hecho están en sitios donde antes no estaba, sino vean las imágenes del satélite del NHC que antes solo eran ofrecidas vía Java y un buen día las teníamos además vía Flash y de eso no hace mucho). Se le han señalado vulnerabilidades en repetidas ocasiones, pero finalmente ActiveX tiene un récord mucho peor en este rubro y nadie hace tanto ruido. El artículo es una review de Tom's Hardware y refiere una versión de Flash que no es la última pero lo entendí válido por los "internals" que trata (que es una de las cosas que hacen que este blog respire, entender como funciona el asunto "por dentro"), no creo que hayan muchas cosas cambiadas en las versiones posteriores y finalmente la que aquí nos trae no está tan lejana. Ahora si, ahí les va, esto es largo eh! márquenlo. Provecho!


Contenido:
Una mirada a los navegadores, códecs, y el rendimiento del sistema.
1.- Adobe flash player: Una breve historia.
2.- ¿Deberían importar los códecs?.
3.- El reproductor de flash de Adobe: No es un reproductor típico de video.
4.- Adobe flash: Aceleración por hardware, GPU, drivers y otros detalles.
5.- Vídeo de Adobe Flash: Un caso de estudio.
6.- Limitaciones del sistema.
7.- ¿Su navegador importa?
8.- Palabras finales.



Después de ejecutar cientos de pruebas y ver horas y horas de los mismos vídeos una y otra vez durante la mayor parte de la semana, hemos llegado a algunas conclusiones interesantes sobre la versión 10.1 de la tecnología de Adobe Flash que usted va a querer leer.


Para bien o para mal, el formato de Adobe Flash es omnipresente en la experiencia de navegación en la Web de hoy. De hecho, se estima que aproximadamente el 75% de todos los videos en línea está basada en Flash (según ComScore). Si usted es un consumidor prolífico de la serie de televisión que no pudo ver o simplemente un usuario de negocios buscando noticias, no pasa un día que no te obliguen a chocar con contenido de Flash online. Ahora, hay soluciones de la competencia para la entrega de contenido, incluyendo la tecnología Silverlight de Microsoft y el vídeo HTML5. Vamos a explorar dos de estos en otra ocasión. La orden del día de hoy es puramente relativa a Adobe Flash.
Es importante hacer la distinción entre un códec y un contenedor de archivos. El formato de Adobe Flash no es más que un contenedor de vídeo, básicamente un wrapper (la referencia a wrapper es un punto de partida, véanlo) de almacenamiento. Pero pueden ser utilizados tres posibles códecs: Sorensen spark, H.264 y On2 VP6 Entonces, ¿cual es exactamente la diferencia entre un códec y un contenedor? Piense en sus vacaciones más recientes. Su maleta es el contenedor de archivos, y el tipo de maleta que eligió dicta donde pones tu ropa, productos de baño, ordenador, etc. El códec (compresión-descompresión) es la manera en que organizas todo (los datos) para que quepan en su equipaje. Básicamente, esto se aplica a cualquier contenido multimedia. Por ejemplo, el formato AVI de Microsoft (Audio Video Interleave) es un contenedor de archivo, pero que podría tener el vídeo codificados con H.264, Xvid, DivX, etc.


Códecs: ¿Dónde estamos ahora?
En los primeros días de Flash (antes de la versión 8), el codificador Sorensen spark fue el único contendiente en la ciudad. Este fue un derivado incompleto de la implementación de H.263 que sigue siendo ampliamente utilizado. Sin embargo, Adobe introdujo otro códec - On2 VP6 para Flash 8. Para la misma velocidad de datos, VP6 proporciona vídeo de mayor calidad en comparación con Sorensen spark, pero en el proceso, se pierde la compatibilidad hacia atrás. Una vez que usted se muda a H.264, los requerimientos de potencia de procesamiento aumentan notablemente, pero también lo hace la calidad potencial. 


Por ejemplo, cuando se lanzó Hulu por primera vez, la primera ronda de vídeos eran todos VP6 (360p: 640x360 @ 700 Kb / s). Sin embargo, proporcionaban una opción para H.264 (480p: 720x480 @ 1 Mb / s). Según el director de tecnología de Hulu, Eric Feng, eligieron VP6 por su compatibilidad con versiones anteriores. Ahora que casi todo el mundo tiene cuando menos Flash 9, la compañía ha descartado VP6 e hizo un cambio completo a H.264. Así pues, si tiene la sensación de su ordenador portátil se está calentando mientras ve Hulu un poco mas de lo que lo hacía hace un año, hay una buena razón para ello.
Como consumidores de contenidos multimedia, por lo general no nos preocupamos de los asuntos relativos a las tasas de bits y los códecs. Sin embargo, cuando se habla de alta definición hoy, pasamos mucho tiempo discutiendo acerca de la resolución que parece tonto. Para aquellos de nosotros que realmente creamos contenido 2D/3D, es la tasa de bits y la eficiencia códec lo que importa, no el número de píxeles que hay en su pantalla.

A tal fin, es una pena que AMD parece estar cayendo en un atolladero de terminología de marketing. Las plataformas basadas en las APUs C-50 y C-30 (Ontario) será calificadas como "Internet de alta definición" como parte de su campaña Visión. La insinuación parece ser que estas máquinas son más capaces de reproducir contenido 1080p que las combinaciones Core 2, Atom/Broadcom Crystal HD, o Atom/Ion 2, y este no es necesariamente el caso. Los APUs serie C, ni siquiera llegan a configuraciones capaces de 1920x1080. Pero como hemos dicho, no es la resolución de alta definición la que determina la calidad del contenido, sino la tasa de bits y el códec.
No importa el hecho de que el escalonamiento de una marca lo haga mas difícil de entender. Imagínense si Intel escalonara el Centrino en niveles Bronce, Plata, Oro, Platino, y Diamante. En su lugar, estamos tratando con Vision Black, Vision Ultimate, Vision Premium, Vision, e Internet de alta definición. Es lo suficientemente enrevesado para ud?


Pero estamos divagando ...


Regresar al contenido
Deberían importar los códecs?.
 
Si que deberían. Al final del día, cualquier persona que consume multimedia no se preocupa acerca de cómo el vídeo fue confeccionado y entregado. Todo el mundo quiere de vídeo de alta calidad con una sobrecarga de rendimiento baja y un impacto mínimo en el ancho de banda. Y, en general, las prioridades van en ese orden.
Sin embargo, debemos señalar que las muy publicitadas capacidades de aceleración de hardware de Flash Player 10.1 sólo se aplican a vídeo codificados en H.264. En su vida cotidiana, que tan extendido está H.264 en comparación con VP6 y Sorensen spark? Bueno teniendo en cuenta que aproximadamente el 90% de todos los sistemas con capacidad de flash ejecutan Flash Player 10, la gran mayoría de los sitios Web usan H.264.
Clic para ampliar.
Clic para ampliar (continuación)
Este es un resumen muy rápido, pero es un análisis imperfecto. A pesar de que hemos elegido los sitios, tanto entre las empresas como del lado del consumidor, se hace rápidamente evidente que la mayor parte de la gran cantidad de contenido Flash está en el lado orientado al consumidor. Mas aún, no incluimos un sitio a menos que podamos descargar un archivo y analizarlo, lo que provoca algunos problemas con los servidores de streaming.
Más sobre esto, a pesar de que podamos conocer que un sitio utiliza un códec específico, a veces es imposible obtener una información precisa relativa a la tasa de bits debido a que su implementación de Flash es capaz de transmitir una tasa de bits adaptativa. Hulu y Fox son inciertos en lo que a esto se refiere. Las FAQs técnicas de Hulu sugieren que el bitrate adaptativo es un sólo un entorno discreto, pero las respuestas dentro de sus foros y la redacción hace esta cuestión un tanto ambigua.


Además, necesitará una conexión a Internet con suficiente ancho de banda. Nuestro vídeo transmite a 480 Kb/s ó 700 Kb/s, y vamos a ajustar nuestro flujo basados en nuestro ancho de banda, pero se recomienda un ancho de banda descendente de 1000 Kb/s o superior para una experiencia de reproducción mas suave. Puede probar el ancho de banda de bajada en muchos sitios Web. Busque "prueba de ancho de banda" en la Web para encontrar muchos de los sitios de prueba de ancho de banda más populares en Internet.


Algunos de nuestros videos vienen ahora en un flujo de 1,000 Kbps, H.264, 480p. Usted puede reconocer estos flujos por el botón de 480p de alta resolución que aparecerá en la parte inferior derecha del reproductor. Para ver estos flujos de alta resolución, necesitará actualizar a Flash Player 10.0.32, y se recomienda un ancho de banda descendente de 1.500 Kbps para una experiencia de reproducción mas suave.


Sin embargo, sus FAQs sobre multimedia y las recientes publicaciones en el blog hace que todo sea un poco más confuso.


Los vídeos de Hulu son transmitidos como archivos de vídeo Flash (FLV). Estos archivos están codificados con el códec H.264 que es compatible con Flash Player 10 y superior (que está instalado en más del 97% de los ordenadores en los EE.UU.).


Hulu soporta actualmente streaming de tasa de bits dinámico para crear una mejor experiencia visual en cada dispositivo y plataforma. Nuestro reproductor elige la secuencia óptima para cada cliente en función del ancho de banda disponible.


Hulu es compatible actualmente con diferentes flujos incluidos 480 Kb/s, 700 Kb/s, 1000 Kb/s (una codificación H.264 que no está en On2 VP6) y 2,5 Mb/s.


Puede activar el streaming de tasa de bits adaptativo de vídeo en nuestro nuevo menú de configuración en el reproductor. Ese menú también le permite forzar al reproductor a transmitir a resoluciones fijas de 480p, 360p, o 288p, pero se recomienda que seleccione la transmisión de tasa de bits adaptativa. Cuando está activada, usted puede estar tranquilo sabiendo que Hulu le ofrece la reproducción más suave con la mayor resolución posible para su ancho de banda.


Hemos tratado de contactar con Hulu para aclarar este asunto. Hasta el momento, la empresa no ha respondido a nuestras solicitudes de información adicional.


En la mayoría de las conversaciones, la gente generalmente no se dan cuenta de que Adobe Flash Player es muy singular. No es el reproductor de vídeo típico, ya que trabaja con premisas totalmente diferentes. Esta es una pregunta común: ¿por qué Adobe Flash Player no es más como Windows Media Player, un reproductor del diario y por defecto para todo?

Cuando reproduces algo en VLC o Windows Media Player, por lo general, los datos de vídeo codificados pasa a través del decodificador de vídeo y salen de ahí como datos YUV (espacio de color) y enviados a su pantalla.
Dado que Flash Player está diseñado tanto para gráficos interactivos como para vídeo compuesto, tiene más trabajos que hacer. Después de procesar el vídeo en datos YUV, hay otra conversión a espacio de color RGB con el fin de combinar elementos interactivos que no son de vídeo. Después de eso, todavía tiene que interactuar con el navegador para mostrarle el contenido al usuario.
Es por eso que reproducir un archivo de vídeo descargado no es lo mismo que rerpoducirlo dentro del navegador. Esta es la razón por la que ningún banco de pruebas de vídeo de Flash se debe ejecutar en un navegador.


Ahora, ¿cuáles son los "elementos interactivos que no son video"? Piense en los controles interactivos, los subtítulos, y las anotaciones al ver un vídeo de YouTube o la interfaz de usuario con gráficos y vídeo entremezclados en Hulu. Tenga en cuenta que Flash es más que añadir controles de reproducción y señales visuales. También proporciona un marco para ActionScript, junto con funcionalidad para webcam y micrófono. Todo esto ocurre dentro de un único plug-in que una mayoría de usuarios han instalado.


Y a pesar de que tanto los reproductores de vídeo como el reproductor de Adobe Flash proporcionan reproducción de vídeo multimedia, Flash Player lo hace de una manera que le permite saltar a cualquier punto de la pista de vídeo sin necesidad de haber procesado todo el vídeo. Es por eso que pueden saltar a una escena específica en Hulu o YouTube como les de la gana.

ActionScript es un menudo un beneficio que se pasa por alto. Considere el vídeo en Comedy Central, MTV, o una miríada de otros sitios que emplean transmisión de tasa de bits adaptativa, todo está hecho en ActionScript. Esta característica permite a los proveedores de contenido ofrecer varias configuraciones de calidad que se ajustan automáticamente para tomar ventaja del ancho de banda limitado que tiene disponible en el momento de la reproducción. Si bien no tener controles de calidad a disposición del usuario en general, frustra la multitud HTPC, por lo general se ajusta bien para aquellos de nosotros que navegamos usando pestañas (a veces los sitios web también ofrecen un control manual).

¿Qué pasa con la aceleración de hardware? Bueno en realidad hay varias áreas en el flujo de trabajo de la reproducción de vídeo donde la aceleración de hardware puede ser beneficiosa: decodificación de vídeo, composición, presentación (conversión de color, escala, blitting), y el renderizado de vectores. Esta realidad hace todo el debate sobre Flash en realidad un poco más complicado. Iniciemos la decodificación de vídeo. Si usted ha leído las notas de la versión de Flash 10.1, entonces sabrá que es una tecnología con algunas peculiaridades.


En general, hay dos maneras de decodificar vídeo.
  1. Usar el hardware dedicado de decodificación de vídeo de la GPU.
  2. O el uso de la CPU a través de un decodificador por software


Son eficientes, en ese orden, en cuanto a consumo de energía y duración de la batería. Flash Player utiliza hardware dedicado de vídeo, cuando está disponible, para el procesamiento de los datos de vídeo. Sin embargo, la aceleración basada en hardware que las GPU modernas emplean por lo general se limitan a H.264, MPEG-2, y VC-1. No hay especificaciones para la aceleración H.263 y VP6. Esta es la constante universal entre Intel, AMD y Nvidia, y en realidad tiene mucho sentido, simplemente porque es raro ver VP6 y H.263 a alta velocidad de bits. Y ya que los tres códecs Flash necesidad de una licencia, en realidad no es una cuestión de costos. Por otra parte, el MPEG-LA (el custodio de H.264) se ha extendido el uso sin derechos de autor de vídeos gratuitos transmitidos por Internet hasta el 31 de diciembre de 2016.
El está en realidad en la eficiencia del códec. Como consumidores multimedia, por lo general tratamos de mantenernos neutrales en los debates sobre códecs, pero esto no es tan simple como podría pensarse. La calidad de la codificación VP6 es generalmente más consistente a través de los diversos codificadores utilizados. Sin embargo, H.264 puede variar ampliamente dependiendo del codificador, porque simplemente hay muchos codificadores disponibles. Incluso cuando intenta hacer una comparación de manzanas con manzanas, usted encontrará que hay diferentes parámetros de codificación que pueden desvirtuarla. Una vez que usted adiciona el audio a la mezcla, es difícil hacer comparaciones legítimas, a menos que usted vea toda una biblioteca de vídeos. Con esto en mente, el director de tecnología de Hulu, Eric Feng ha dicho que H.264 tiene una ventaja de compresión de 2:1 sobre VP6. No hay ninguna razón para dudar de este margen, dado que los programadores de Hulu manipulan más vídeos directamente en una semana de lo que nosotros haríamos en un mes.


Pero ¿significa esto que la transición hacia H.264 tiene como consecuencia una carga de procesamiento más alta? No. Flash Player 10.1 puede tomar ventaja de la decodificación de H.264 acelerada por hardware, trasladando esta carga de la CPU a la GPU, cuando esa funcionalidad está disponible.
¿Qué pasa con la composición de vídeo en la GPU con otros elementos gráficos? De acuerdo a el post de un desarrollador de Adobe y una reciente discusión de tu a tu con Adobe, la composición por hardware en la GPU de no se produce en PCs con Windows para Flash Player 10.1. La composición por hardware que estaba disponible en Flash Player 10 se relacionaba más con las animaciones en las que tienes múltiples mapas de bits y vectores generados en tiempo real. Por ejemplo, imagina una animación donde varios objetos y capas (tales como césped, árboles, y las nubes) son generados como mapas de bits que necesitan ser integrados como una sola imagen después de que todos los vectores adicionales son sometidos a rasterización. Esto podría ocurrir a través de la GPU utilizando el hardware de composición, de forma similar a lo que podríamos ver en un juego de video 3D. Pero no llegó a Flash Player 10.1 debido a diferencias en el contenido e implementaciones de hardware/drivers fragmentadas, a menudo negado los beneficios de hacer esto en la GPU.



Tinic Uro resumió mejor el efecto final. "El hecho de que Flash Player utiliza la tarjeta de vídeo para renderizar no significa que será más rápido. En la mayoría de los casos, su contenido se volverá más lento. " Para abordar el problema de la fragmentación de hardware, Adobe está confiando más en librerías nativas de la plataforma. Por lo tanto, la aceleración consistente con la composición por hardware ya está disponible en Flash Player 10.1 en Mac OS X, que se aprovecha de Core Animation en los navegadores que lo soportan Safari).
Al final del día, otras operaciones se siguen haciendo en el software de Flash Player 10.1. Después de que los datos de video H.264 son decodificados, no hay ninguna ayuda real desde la GPU en el renderizado de los elementos gráficos interactivos, haciendo la conversión del espacio de color, o ejecutando escalado en el propio vídeo. Todos ellos siguen siendo operaciones orientadas a la CPU.


Debemos dejar esto completamente claro: no hay cálculos de propósito general en la GPU en Flash Player. No hay DirectCompute, ni APP, ni CUDA. Y todas las solicitudes para añadir esta clase de soporte son inútiles, porque son contraproducentes. GPGPU es para el procesamiento de datos "crudos" de una manera altamente paralelizada. Pero hay más en el vídeo que sólo datos en bruto. Ocurre una gran cantidad de procesamiento de imágenes. Las GPU modernas ya tienen parte de su diseño específicamente dedicado a la decodificación y procesamiento de datos de vídeo. Esto se llama el "decodificador de función fija". Vive para decodificar y no hace nada más. Trasladar esta carga a recursos de cómputo de propósito mas general estaría un paso mas alejado de moverlo de nuevo al mismo CPU, ya que en ambos casos se estaría trabajando con un decodificador basado en software. Esta es la razón por la que Flash Player (y otros reproductores de video acelerados por hardware que manejan H.264) se basa en la capacidad de decodificación de función fija de la GPU para la aceleración de la decodificación de vídeo.


Requisitos
Recuerde, hay requisitos de hardware específicos que necesitan ser satisfechos para obtener los beneficios de la decodificación H.264.
Los requisitos son bastante sencillos. Tenga en cuenta que del lado de Mac, Flash Player debe apoyarse en el framework de aceleración de decodificación de video de Mac OS para acceder a la aceleración por hardware (incluido en Mac OS X 10.6.4 y posteriores). Este framework no es compatible con las GPU de Intel, tales como la GMA 950 y los nuevos gráficos de alta definición. Los nuevos MacBook Pro se apoyan en el hardware discreto de Nvidia para la decodificación H.264 basada en Flash, que es soportada por el framework de aceleración de decodificación de vídeo.
Las cosas no son tan claras con respecto a Nvidia como lo están con las soluciones gráficas de AMD. AMD sólo requiere su segunda generación del Decodificador de Video Unificado (UVD2 para los discretos y UVD+ para los integrados). Es tan simple como eso. Si tienes una tarjeta gráfica Nvidia de las antiguas, recuerde que la tercera generación de PureVideo (decodificador VDPAU) tiene restricciones con el decodificador H.264. No puede decodificar fuentes de vídeo con las resoluciones horizontales siguientes: 769-784, 849-864, 929-944, 1009-1024, 1793-1808, 1873-1888, 1953-1968 y 2033-2048 pixeles.Esto se aplica a productos como Ion de la primera generación , 8400 GS, 8200, 8300, 9300M GS, GS 9300, y 9300 de GE.


Analizamos cinco sistemas y cinco distintos navegadores web, con aceleración de hardware activado y desactivado, con el tema Aero de Windows 7 activado y desactivado en modo de ventana y a pantalla completa y en todas las resoluciones disponibles en Youtube. Además, probamos vídeos Flash basados en On2 VP6, Sorensen spark, y H.264, tanto en modo ventana como a pantalla completa.
Clic para ampliar.
Hemos probado con la última versión de Flash, pero sentimos que era importante tener en cuenta que hemos visto algunos aumentos de rendimiento en comparación con versiones anteriores del software (archivo Flash Player). Vimos menor carga de procesamiento, lo que permitió mayores cifras de FPS en muchos archivos de vídeo de alta tasa de bits. El enfoque de esta historia no fue el de evaluar las mejoras desde un punto de vista generacional, sino más bien mirar la interoperabilidad de cómo Flash interactúa con otros elementos de software durante el procesamiento.
Clic para ampliar.
Todos los vídeos Flash se ejecutan en el navegador y se reproducen a partir de su carga completa en el buffer. La red inalámbrica fue desactivada durante la reproducción.Además, todos los valores de uso de la CPU y FPS se generaron a partir intervalos de prueba de un minuto.


Controladores.



Adobe sólo proporciona los ganchos para su API a los vendedores de gráficos para tomar ventaja de la decodificación H.264 en Flash. Los drivers son tan importantes como la versión del software. Ellos representan dos caras de una misma moneda, que tienen que trabajar juntos para hacer que funcione la aceleración por hardware.
En general, no se encontraron problemas de controladores en cualquiera de las resoluciones probadas. Todo el mundo está en claro, excepto para determinadas configuraciones específicas basadas en procesadores Intel y Broadcom. Por alguna razón, y desgraciadamente, los problemas que se reportaron originalmente en nuestra ronda de otoño de la Netbook de 10.1" aún existen.
Hay situaciones en las que vemos el soporte del controlador 3.5.0 descanso, y en este momento, le recomendamos las personas que utilicen un netbook Broadcom Crystal HD potencia a caer de nuevo al controlador recomendado por el fabricante de su portátil. Tenemos tangencialmente oído que hay un bug en la versión 3.5.0, pero Broadcom no ha respondido a las solicitudes de confirmación.
Clic para ampliar.
Siento que debo aclarar que la solución Crystal HD de Broadcom es excelente para los consumidores sedientos de multimedia que tienen archivos de vídeo en sus discos duros. Sin embargo, si consideramos que una netbook basada en Broadcom Crystal HD cuesta por lo menos 50 dólares más que el una netbooks común, y sólo está a la altura de los precios que vemos en opciones de primera como el Asus 1215T (Nilo) y 1215N (Ion 2) , esperamos que la masa adicional venga con un conjunto de controladores funcionales.
Para esa gente que sólo quieren reproducir archivos de vídeo en su equipo, las netbooks con Crystal Broadcom HD son una opción excelente, que le da los beneficios de la duración de la batería utilizando gráficos integrados con un vídeo con algunos caballos de fuerza adicionales. Si usted está esperando que el hardware le ayude con Hulu, YouTube y otros sitios basados ​​en Flash, está haciendo una apuesta. Y recuerde que Crystal HD es otra pieza de hardware que se alimenta de energía. En nuestras pruebas internas, obtuvimos un extra de 30 minutos de la Dell Inspiron Mini 10, cuando desactivamos Crystal HD por completo.



Aero




Si no está familiarizado con Windows 7 Aero Glass, podría estarse perdiendo algunas señales visuales. Para los sistemas equipados con Crystal HD y GMA 500 de Intel, Adobe recomienda Windows 7 con Aero activado. (¿por qué?) Porque al parecer, hay ganchos adicionales para los controladores disponibles en el sistema. Esto tiene que ver con la arquitectura única asociada con los dos decodificadores.
Pero ¿por qué se aplica esto a sólo GMA 500 y no a otros productos gráficos integrados de Intel? Esto tiene que ver con el hecho de que la GMA 500 es como ningún otro producto de Intel. En lugar de ser desarrollado en casa, GMA 500 está diseñado alrededor de una licencia PowerVR SGX 535 core de Imagination Technologies.

Desafortunadamente, es algo irónico que los sistemas que normalmente vienen con Crystal HD o GMA 500 (la serie Atom Z5xx) también vienen con Windows 7 Starter. Por otra parte, por lo general vienen armados con sólo 1 GB de memoria. Esto significa que en realidad no se puede habilitar Aero en estos sistemas. Como resultado, no hemos sido capaces de probar la recomendación de Adobe. En cualquier caso, si el beneficio no existe, una gran mayoría de los clientes que tengan una de estas dos configuraciones de todos modos no podrán acceder a esta mejora de rendimiento.
Clic para ampliar.
Estamos un poco confundidos sobre el por qué permitir Aero en realidad beneficiaría el sistema más allá de algún tipo de exposición a ganchos adicionales para drivers en WDDM o forzar el uso de una parte de la pipeline de gráficos. En todo caso, uno podría pensar que la activación de la interfaz Aero más compleja ralentizaría el sistema.Nuestras sospechas son válidas en su mayor parte. Hay pequeñas variaciones en los sistemas, dependiendo de la resolución y de si se permite o no la reproducción de Flash a pantalla completa. Sin embargo, en su mayor parte, vemos un aumento en el uso de la CPU cuando se habilita Aero.


Decodificación Multi-Instancia.


Hay otro modelo de uso creemos que es importante mencionar (ya que nadie ha discutido la decodificación de múltiples instancias). (¿por qué?) Tenga en cuenta su experiencia de navegación diaria. El entorno de escritorio podría lucir algo así como la imagen de arriba. Como puede ver, este escritorio tiene tres ventanas abiertas. En el fondo, IE8 está abierto a YouTube, CNN, Noticias Google, Adobe, Weather.com, y Amazon. En la esquina, tengo un trailer H.264 abierto mientras escribo en Word 2007. Cualquier pestaña en la que tengan un video H.264 basado en Flash abierto cuenta como un hilo único en el procesador de decodificación de hardware. Cualquier reproductor de vídeo reproduciendo H.264, MPEG-2, VC-1, o cualquier otro códec soportado por el decodificador de hardware de función fija de la GPU cuenta como otro hilo.


Sabemos que es un hecho que el procesador de vídeo de Broadcom Crystal HD es de hilo simple. No se puede acelerar Flash y H.264 al mismo tiempo, lo cual no es realmente un problema para la mayoría de la gente corriente. El contenido que primero sea detectado es capaz de abrir un hilo en el procesador de Crystal HD. El segundo, tercero y cuarto se pasan a la CPU. Tenga en cuenta que esto significa que no puede tener un navegador abierto en un sitio web basado en Flash y luego abrir un vídeo H.264 y esperar que se acelere por Crystal HD. Hemos descartado el asunto del ancho de banda/carga y procesamiento en el procesador de Crystal HD, porque incluso si se detiene la instancia del primer contenido, el hilo sigue abierto. Como resultado, todo el contenido abierto posteriormente no puede utilizar el procesador multimedia de Broadcom. Hay otros problemas con esto relativos específicamente a la última versión liberada del controlador de Broadcom, del que ya hemos hablado en nuestra ronda de otoño sobre 10.1".
Clic para ampliar.
Sobre la base de nuestra conversación con Adobe, mantenemos la firme sospecha de que existe una situación similar con GMA 500. Sin embargo, todos los sistemas incluidos en nuestro caso de estudio no sufren este problema. Tenga en cuenta que sólo probamos un vídeo H.264 Flash (YouTube 1080p), junto con un trailer de vídeo basado en H.264. ¿Por qué está limitado esto a Broadcom Crystal HD (y posiblemente GMA 500)? Bueno, tiene que ver con la arquitectura de la GPU. Los decodificadores de función fija que Intel, AMD y Nvidia han diseñado son capaces de manejar por lo menos dos subprocesos y procesarlos simultáneamente (hemos oido que Sandy Bridge puede acelerar 12 o más flujos HD al mismo tiempo).
No hemos podido probar más de dos secuencias H.264 porque VLC v.1.1.5 no parece sacar el máximo provecho de la decodificación por hardware, ya que "ejecuta la decodificación en la GPU solo en la etapa de decodificación y regresa los datos de nuevo para continuar las otras etapas. " Además, si bien se pueden abrir varias ventanas de VLC, no es el caso con Windows Media Player, por lo que nos limitamos a probar dos subprocesos y procesos H.264.






Sorprendentemente, sí. No es algo sobre lo que mucha gente habla, pero recuerde que Flash técnicamente se ofrece como dos plug-ins. Hay una versión de ActiveX escrita específicamente para IE8 y otra para el resto de los navegadores. 
Clic para ampliar.
En lo que Adobe se refiere, las diferencias entre las dos versiones de Flash debe ser insignificantes. Desde el punto de vista de rendimiento, la empresa no tiene un ejemplo específico que sugiera que un navegador es mejor que otro para Flash.


Nuestras pruebas, sin embargo, revelan algunos resultados interesantes. En general, vemos un uso intensivo de la CPU en Firefox y Internet Explorer 8. Todos los navegadores y todas las configuraciones son capaces de reproducir vídeo sin tartamudear (24/30 fps), siempre y cuando el navegador esté en modo de ventana y tenga habilitada la aceleración por hardware.
De hecho volvimos a ejecutar los números en algunos sistemas después de ver los resultados de nuestra primera ronda de pruebas. La segunda ronda de números mostró márgenes similares, por lo que creemos que no es una aberración. De nuestras conversaciones con Adobe la semana pasada, parece que hay algo dentro de cada navegador individual que afecta el cómo se están manejando los vídeos Flash.
También hay que destacar una especie de falla única en IE8. Si mueve el cursor rápidamente durante la reproducción de vídeo Flash, ocurren saltos. El grado de caída de cuadros depende de la CPU. Incluso en un ordenador portátil basado en Sandy Bridge Core i7-2820QM y una computadora de escritorio con un Core i7-920 vemos los mismos resultados, lo cual es totalmente extraño teniendo en cuenta la potencia en bruto bajo el capó de cada máquina. Debido a que este se limita a IE8, parece ser una consecuencia de la diferencia basada en software entre ActiveX y la versión del plug-in de Flash Player. Adobe parece no ser consciente de este fallo, pero se nos informa que se están estudiando la cuestión.


¿Qué hay con la pantalla completa?
Clic para ampliar.
La pantalla completa importa. Por el lado de Windows, recuerde todas las operaciones post-procesamiento de datos, como el escalado, se producen en la CPU. Por lo tanto, no nos sorprendió ver un mayor uso de la CPU. Lo que si nos sorprendió fue una relación inversa entre el uso de CPU y los FPS. Incluso con una sobrecarga más baja de la CPU, el número de FPS es casi la mitad de lo que debería ser a fin de ver una reproducción fluida en Sarfari, Opera y Chrome.

Curiosamente, parece que hay dos factores en juego aquí: el navegador que utilizamos y la potencia de CPU disponible. En un sistema más robusto como el ThinkPad T510 (Core i5-540M), no vemos que la elección del navegador importe, más allá de cierto impacto en el uso de CPU, ya que la reproducción es completamente fluida. En general en los sistemas que no son de escritorio, vemos que ocurren este fenómeno - quizás otra consecuencia de la forma en que los diferentes navegadores manejar el vídeo de Flash.




Códecs: Si usted quiere asegurarse de que funcione la decodificación acelerada por hardware, usted tiene que prestar atención a los códecs. Para un mejor rendimiento y duración de la batería, la decodificación basada en hardware es siempre mejor que por software, el vídeo va a ser más fluido y su laptop va a trabajar mas fresca por un período de tiempo más largo. Recuerde que hay sitios Web menos populares que aún utilizan Sorenson Spark (Sorenson H.263) y VP6.


En el entendido que ud posee una plataforma capaz, si nos atenemos a Hulu y nada por encima de 240P en YouTube, usted tendrá la decodificación por hardware. Vemos que la gran mayoría de los anuncios de vídeo (los anuncios animados son diferentes) siguen utilizando VP6, lo cual no es necesariamente algo malo. Por un lado, no necesitamos de publicidad de alta calidad para entender lo esencial de lo que quieren que compremos. Además, algunos anuncios de vídeo de Flash cargan automáticamente, y preferimos no incurrir en una penalización en el rendimiento cuando estamos viendo contenido libre soportado por publicidad basada en Flash.




Navegadores: Si usted es un adicto auto-diagnosticado a Hulu o YouTube (en particular si toma ventaja de las opciones con más alta tasa de bits en cada sitio), nuestras recomendaciones son mixtas. En modo de ventana, no debe tener ningún problema con cualquier navegador. Ciertamente podemos recomendar Opera, Chrome o Safari para usuarios móviles que se adhieren a modo de ventana.


Si usted tiene tendencia a favorecer la visualización a pantalla completa, tiene que tomar una decisión. Una vez más para los usuarios móviles, Opera, Chrome y Safari le ofrecen un menor uso de CPU y una duración mayor de la batería, pero a menudo no verá mayores velocidades de cuadros necesarios para disfrutar de la ampliación al modo de pantalla completa. IE y Firefox siguen siendo nuestras recomendaciones, aunque sólo sea por la mejor experiencia visual. Si usted tiene un sistema de escritorio con amplio poder de procesamiento (cualquier cosa de la clase de un Core i5 debería funcionar), entonces, todos los navegadores son candidatos potenciales. Solo tenga en cuenta que el rendimiento será diferente en cada navegador durante la reproducción de Flash.
Si tienes algo más lento que un Core i5-540M, se recomienda mantenerse alejado de IE8 para la reproducción de vídeo Flash. En nuestro Lenovo ThinkPad T510, las pérdidas de velocidad de cuandros son tolerables y apenas perceptibles. Sistemas más lentos, sobre todo máquinas con Atom y Core 2 Duo, verán ralentizaciones considerables con solo mover el ratón en derredor. Con suerte, Adobe y Microsoft trabajan en este tema para las nuevas revisiones de Flash Player basado ​​en ActiveX.


Aero: Además de todo el enigma de Broadcom, GMA 500, y Windows 7 Starter, nuestras pruebas demuestran que la activación o desactivación de la interfaz Aero es importante. En general, usted va a ver un mejor rendimiento si desactiva Aero. En los sistemas móviles, esto se traducirá en mas vida adicional de la batería. Pero los usuarios de escritorio sólo serán obstaculizados en escenarios multitarea.
Pantalla Completa: Una vez más, esto importaba en los vídeos de YouTube, Sevenload, y Boeing que vimos. Espere que el uso de CPU se incremente al cambiar a cualquier modo de pantalla completa. Sin embargo, se nos ha informado por parte de Adobe que se trata de una cuestión de implementación. Hay situaciones en las que realmente no podía ser un efecto neto. Esto depende de cómo el contenido se empaqueta y presenta al consumidor dentro de Flash. Simplemente no hay manera de que probemos flash en todos los sitios Web de los mencionados, así que se quedan en eso.


Hardware: Hay que añadir que el hardware de decodificación de AMD UVD2 no parece a la altura de la cuarta generación de PureVideo (1215N: Ion 2, T510: Quadro 3100m) o el hardware de decodificación en el diseño de Intel Arrandale con gráficos HD (o más recientemente procesadores basados en Sandy Bridge) o en los mas antiguos Core 2 Duo (UL20A: 4500MHD). Esto también se refleja en las pruebas adicionales con VLC y Windows Media Player.
Buscando el mejor hardware decodificador no formaba parte de nuestro plan original. Sin embargo, a la undécima hora, también hemos añadido un trailer 1080p H.264 a nuestras pruebas de reproducción. De acuerdo a todos nuestros resultados, la sobrecarga de los procesadores post-decodificación, como la transformación de frecuencia, la predicción de píxeles, y el desbloqueo tiene un efecto apreciable en el rendimiento. Como ya hemos señalado, VLC solo usa el decodificador con funciones fijas para su etapa de decodificación, pero hay más en la tubería de decodificación que el procesamiento del flujo de bits o la decodificación de la entropía que de otra manera verían empleados en un decodificador por software. Tenga en cuenta también que VLC sólo soporta la decodificación de hardware con Nvidia y el hardware de AMD. Esto explica por qué WMP12 es todavía más eficiente en la reproducción de vídeo.


Ahora, disfrutamos de VLC tanto como todos los demás por su amplia gama de formatos de vídeo aceptados. Sin embargo, dada la elección entre la vida de la batería / una notebook mas fresca y más compatibilidad, nos quedamos con los primeros. Recuerde que esto sólo se aplica a H.264, MPEG-2, VC-1, y así sucesivamente.
Clic para ampliar.
Si tienes una portátil de reemplazo de escritorio o una computadora de escritorio con un procesador más robusto, no se va a tropezar con los mismos problemas que verán los usuarios de notebooks móviles. (¿por qué?) Un procesador como el Core i5-540M tiene potencia de calculo de sobra, por lo que la magnitud de la diferencia entre un software de decodificación y la aceleración por hardware es mucho más pequeña.


Cabe destacar que el 30 de noviembre de 2010, Adobe lanzó Flash 10.2 beta que tiene como objetivo hacerlo todo en la GPU, incluyendo el escalado y el espacio de color, a través de la nueva API StageVideo. Como mencionamos antes, a fin de abordar el problema de fragmentación de hardware, Adobe está confiando más en librerías nativas de la plataforma. Por lo tanto, la aceleración consistente con la composición por hardware ya está disponible en Flash Player 10.1 de Mac OS X, que aprovecha Core Animation en los navegadores que soportan Core Animation (Safari). Flash Player 10.2 beta también soporta ahora composición por hardware en Internet Explorer 9.
Esto es muy emocionante porque estamos hablando de una sobrecarga muy baja de la CPU para la reproducción de vídeo. Esto realmente cambia la guerra entre el video HTML5 y Flash de una manera enorme, pero eso lo veremos en otro artículo. Hasta este punto, usted debe saber que la última versión no es capaz de alcanzar el 0% de uso de CPU, pero basado en demostraciones que Adobe nos ha mostrado, están endiabladamente cerca.


No espere que los beneficios sean evidentes, porque esto tiene que ser activado por los proveedores de contenido. Si instala la actualización de hoy, usted no será capaz de ir a Hulu o YouTube y ver los beneficios. No se han implementado en cualquier sitio comercial, aunque se puede jugar con algunos de los videos en el sitio de Adobe demo StageVideo para tener una idea de qué esperar. Vamos a echar otro vistazo a esto una vez mas al final. Tenga cuidado: esta podría ser causa de frustración. Ahora que el escalado y la conversión de espacio de color va a suceder en la GPU, la puerta se abre para que las deficiencias en la calidad afecten la reproducción de vídeo. Adobe debe estar bastante seguro de la labor que están haciendo la gente de hardware.




Por el momento, algunas resoluciones más altas 16:09 hacen que el texto Flash se vea increíblemente pobre. Pero este es el caso con todos los sistemas. Si nos fijamos en un vídeo de YouTube en 1600x900 (pantalla completa) que tiene menú de texto pobre, se ve igual en todos los sistemas, ya que utiliza la CPU para su procesamiento. Los datos de video se pueden procesar de forma muy especializada y pueden ser manejados de manera diferente, como hemos visto en anteriores pruebas de calidad de imagen entre el hardware de AMD y de Nvidia. Vamos a seguir de cerca cómo 10.2 se materializa para cambiar esta situación. Con suerte, nadie toma ningún atajo.


Como nota final, esta mirada en Flash era un bocado más grande del que originalmente pretendimos porque teníamos demasiadas variables en juego. Como resultado, hemos registrado más de cuatrocientas pruebas individuales. Todos los datos están en MATLAB en una matriz multidimensional, y el análisis inicial se realizó con un SOM programable. Debido a la gran cantidad de datos, se han seleccionado ejemplos para mostrar el efecto de los parámetros específicos en la prueba. Afortunadamente, ninguna de las variables parecen estar vinculadas entre sí. Por ejemplo, no hubo caso especial en que Aero + Firefox + modo de pantalla completa fuera mejor que Aero deshabilitado + Opera, y la reproducción del vídeo en modo de ventana. Después de haber visto cerca de 20 horas acumuladas del trailer de Harry Potter y las Reliquias de la Muerte espalda con espalda, vamos a terminar esta discusión estupefactos. Va a tomar algún tiempo para que nos demos cuenta finalmente que en realidad no somos magos.
Regresar al contenido