Índice

 

Versiones de los navegadores

Hoy, tras el lanzamiento de forma oficial de Internet Explorer 9 y el inminente Firefox 4, saco un hueco para rehacer la comparativa que realizamos hace 6 mese en la que tanto IE9 como Firefox 4 aun continuaban en fase de desarrollo. 6 Meses después tanto Microsoft como Mozilla lanzan de manera oficial sus navegadores (En el momento de escribir estas letras, Firefox se encuentra en fase RC1, con lo que es posible que la versión final oficial sea la misma que la usada en estos test).

Me hubiese gustado que a estas alturas Firefox 4 estuviese en la calle, pero para el caso de esta comparativa sinceramente importa poco, dado que en el caso de FF4, el desarrollo propiamente dicho ha finalizado, y a espera de encontrar un fallo de seguridad que sea importante, FF4 debería de ser oficialmente lanzado entre esta semana y la siguiente. Si bien podría esperar al lanzamiento de FF4 de forma oficial para publicar esta comparativa, dado el lanzamiento de IE9 y dado que FF4 no va a cambiar prácticamente entre la RC1 y la RTM, he decidido tomar la RC1 de FF4 como “oficial”. Hay que tener en cuenta también que a modo de “comparación” se ha incluido también la versión de 64 bits de Firefox a los test, la cual NO SERÁ LANZADA de manera oficial hasta la futura Firefox 5, la cual debería de llegar para mayor/abril.

Edito: Según la reunión de hoy, parece ser que la RC1 se convertirá en versión de oro (lanzada oficialmente) el día 22 de Marzo. Posiblemente esté disponible un poco antes, recordemos que hay que compilar de nuevo la RC1 como versión final, preparar todo el marketing, esperar si a última hora aparece algún problema… pero podemos casi afirmar con completa seguridad que la RC1 será en esencia la misma versión que Firefox 4.0 oficial.

Sobre el resto de los navegadores usados, en estos últimos 6 meses todos han ido sufriendo actualizaciones. Hasta el día de hoy, tanto Internet Explorer como Firefox y Safari tenían los ciclos de actualizaciones más altos, cosa que Microsoft como Mozilla han decidido aparcar y optar más por el modelo de Chrome, el cual es no esperar a grandes actualizaciones, sino que las propias funciones nuevas y las mejoras realizadas se van incorporando poco a poco. Esto tiene sus ventajas y sus inconvenientes. Pensar que en estos 6 meses, Firefox ha terminado el desarrollo de Firefox 4 (En septiembre estábamos en Beta 7 sino recuerdo mal). En cambio, Chrome ha pasado de la versión 6 a la versión 10, y la 11 en fase beta. Esto no quiere decir que Chrome tenga más personas trabajando o que sean más rápidos, lo que sucede es que entre Chrome 6 a Chrome 10 los cambios que han existido no han sido ni de lejos los que ha sufrido Firefox desde su versión 3.6 a la 4.0. Esto es aplicable igualmente a IE8 Vs IE9.

Opera y Safari también a mejorado sus navegadores, y si acudimos a las versiones testadas hace 6 meses veremos algunas mejoras en cada uno de ellos. Así que a diferencia de hace 6 meses en el que aun había muchos fallos que arreglar y rendimiento a ganar, hoy si podemos hablar de todas las versiones oficiales. En el futuro, si Microsoft como Mozilla optan por ciclos de actualizaciones cortos, intentaré publicar las comparativas a intervalos más o menos regulares

De nuevo, la versión de Safari instalada está exenta de QuickTime. Algunos podrían criticar dicha decisión dado que en algunos sistemas se obliga la instalación de QT en el PC para la descarga e instalación de Safari. No obstante, desde mi punto de vista aquí se está testeando navegadores, no reproductores multimedia. El problema que se presenta es que Apple usa QT como interfaz para la reproducción de elementos de este, entre otras cosas algunos de los elementos de HTML5. Ya en la otra ocasión establecí mi opinión sobre esto, y es que para realizar un test de Safari, QT debe de ser desinstalado. ¿Por qué? Es simple, del mismo modo que los otros navegadores cuando se testean no se instala ningún complemento que pueda darle un punto más o un punto menos en cualquier prueba, o hacerlo más compatible. Por poner un ejemplo práctico, Google tiene un programa por así decirlo que añade compatibilidad WebM a IE9, lo cual le daría a IE9 más puntuación en los test de compatibilidad para HTML5, o lo mismo se podría hacer para Firefox para añadirle soporte para H264. Aquí se juega limpio, y todos los navegadores están en las mismas condiciones, no hay complementos ni añadidos externos que puedan ayudar a ningún navegador, y si Safari está realizado así por diseño, mal pensado está, no tiene sentido que tengas que tener instalado QT por narices ya uses Safari o iTunes o…

 

Benchmark

Siguiendo más o menos el esquema de hace 6 meses, se han usado los mismos tests de entonces (o la actualización de estos) y se han añadido otros nuevos, para de nuevo intentar ser lo más rigurosos posibles y abarcar en todo lo posible cuantas más características tengamos entre manos. Evidentemente no voy a usar un simple test JS y con ello llegar a la conclusión que el navegador X es mejor que el resto. Veremos como en realidad todo es relativo, y tan solo con una mirada general a los datos recogidos se puede tener una idea más o menos clara de que navegador es mejor o peor. Ojo! Aquí tampoco están cubiertos todos los test que podrían ser interesantes, como por ejemplo el consumo de RAM, el tiempo de inicio en arranque en frío o el uso de CPU en los test, que si es posible estará incluido en la siguiente entrega.

Dado que los propios Test se han actualizado en este tiempo, no es posible comparar los resultados aquí obtenidos con los obtenidos hace 6 meses. Por ejemplo, en la anterior entrega se usaba el test V8 de Google versión 5, y en esta ocasión la versión 6 con lo que los datos de uno no pueden mezclarse con los otros.

Empecemos.

 

Sistema:

  • OS: Windows 7 Ultimate x64 SP1
  • CPU: Intel Core i7 920
  • RAM: 12GB DDR3 Triple canal
  • Video: nVidia GTX460 (Driver 267.24)

Navegadores:

Test:

 

 

 

 

  • IE 9 x86 no carga ninguna ROM, no es compatible

 

  • Safari no puede cargar el juego, no es compatible.

 

  • El test original permite un máximo de 1000 peces, fue modificado para permitir 2000 peces dado que tanto IE9 como Firefox 4 alcanzaban los 60 fps
  • En 1000 peces, el fps del resto de los navegadores era de 0-3 fps.
  • Tan solo IE9 y FF4 poseen aceleración hardware completa (DirectWrite/Direct2D y Direct3D 10)

 

 

  • Tan solo IE9 y FF4 poseen aceleración hardware completa (DirectWrite/Direct2D y Direct3D 10)

 

  • Tan solo IE9 y FF4 poseen aceleración hardware completa (DirectWrite/Direct2D y Direct3D 10)

 

  • Tan solo Chrome 10 y FF 4 poseen soporte WebGL

 

 

  • Las versiones de 64 bits poseen la misma compatibilidad que sus homólogas de 32 bits

 

  • Las versiones de 64 bits poseen la misma compatibilidad que sus homólogas de 32 bits

 

  • Tan solo Chrome 10 y FF 4 poseen soporte WebGL
  • Las versiones de 64 bits poseen la misma compatibilidad que sus homólogas de 32 bits

 

 

Conclusiones

  • JavaScriptDesde la pasada comparativa, las cosas han cambiado. Actualmente todos los navegadores parecen tener en general un rendimiento JS bastante competitivo, y cada día que pasa los test sintéticos para JS tienen menos valor y son más difíciles de cuantificar. Si partimos de todos los test JS mostrados y tuviésemos que obtener un resultado de forma global, posiblemente el ranking sería el orden: Firefox, Chrome, Opera, Sarari y por último IE.

    Pero estos test no solo nos sirven para llegar a esa posible conclusión, sino que nos podemos dar cuenta perfectamente de lo poco veraces que pueden resultar estos test. Vemos 2 cuestiones concretas en las que me gustaría detenerme unos segundos. En primer lugar tenemos que curiosamente los test realizados por cada desarrollador suelen dar de ganador a dicho desarrollador, menos en el caso de Apple. Por ejemplo, en V8 vemos que de forma clara Chrome prevalece por mucho al resto, mientras que Firefox lo hace en Kraken (la diferencia frente a Google era muy superior hace tan solo unas semanas con Chrome 9).

    El segundo aspecto cuanto menos curioso es que IE9 obtiene teóricamente el mejor resultado de todos en SunSpider, pero en contrapartida obtiene siempre el último puesto en todos los demás test JS. No conozco sinceramente el desarrollo de IE9 para poder afirmar o negar con rotundidad que MS ha hecho “trampas” de forma manifiesta, pero es evidente que es cuanto menos curioso. Estas trampas no son complicadas de hacer, simplemente si sabes como se ejecuta el test, puedes preparar de antemano el navegador para asegurarte que en dichos test y solo en esos tu navegador es el mejor. El problema es que cuando enfrentas IE9 en cualquier otro test los números hablan por si mismo. Este un es claro ejemplo de que jamás puedes fiarte de un test aislado, tan solo puedes tener una respuesta más o menos clara después de varios test de diferentes, es un poco como la regla de oro. También podemos ver que MS no ha realizado prácticamente ningún cambio a su versión de 64 bits, si vemos el rendimiento de este frente a su versión de 32 btis, es de pena, posiblemente la versión de 64 bits no haya migrado al nuevo motor JS, lo cual tendría también sentido en el emulador SNES, ya que mientras que la versión de 32 bits es incapaz de procesar el juego (posiblemente alguna incompatibilidad en el nuevo motor de MS) si lo hace el navegador de 64 bits.

    Es evidente que los programadores de los navegadores han estado trabajando duro para poder mejorar en lo imposible sus resultados JS, y como ya dije en otra ocasión, estos resultados pueden ser en el 99% ignorados por la mayoría, ya que en un entorno real rara vez veremos o podremos ver una diferencia clara. Es por ello que incluí dos juegos que usan de forma masiva JS, como por ejemplo el emulador de SNES, que hay que anotar que aunque Safari alcanzó 40fps, este resultó completamente injugable, mientras que

 

  • GráficosCopia de la comparativa anterior: “Con gráficos recordemos que nos referimos a cualquier contenido de este tipo, desde videos, imágenes, texto… casi cualquier elemento que sea procesador en el navegador. En realidad es tanto o más importante que JavaScript, en cambio esto parece que pasa desapercibido para la mayoría. En cuanto a Gráficos se refieres creo que nos encontramos con lo que podríamos llamar navegadores de primera generación: Chrome, Safari y Opera, y navegadores de segunda generación: IE, Firefox. Para aquellos que no hayan realizado test pertinentes o no estén puestos en la materia, podrían incluso creer que los resultados son erróneos, pero nada más lejos. Estos son debido en gran medida gracias a la Aceleración Hardware del navegador, que usa la tarjeta de vídeo del sistema como apoyo. El resultado no puede ser más increíble. El test de las letras, así como otros muchos no son aplicaciones o test necesariamente en 3D, muchas veces se cae en el error que la tarjeta de vídeo tan solo sabe renderizar polígonos en la pantalla. Chrome, aun cuando en la versión 7 ya poseía un soporte parcial para la aceleración por hardware, la verdad es que 6 meses después no ha cambiado mucho como podemos ver en los test, tan solo tiene un soporte parcial. Opera por otro lado esta trabajando en un soporte hardware completo, aunque por ahora tan solo se encuentra en las primeras fases. Safari que yo sepa no ha comenzado con ningún tipo de soporte hardware, ni para MAC OS ni para Windows.La Aceleración Hardware en los navegadores se ha logrado en dos partes. La primera es por medio de las API de Windows Vista y Windows 7, concretamente gracias a Direct2D y Direct Write, dos tecnologías creadas por Microsoft que permiten usar las tarjetas de vídeos basadas en DirectX10+ (y la mayoría de DirectX9c) para acelerar prácticamente cualquier aspecto gráfico de Windows. El éxito de esta tecnología es más que evidente, al igual que sus resultados. La segunda parte es bastante menos significativa, aunque igualmente ayuda en muchas tareas, como por ejemplo en la presentación de vídeos que están superpuestos sobre otros elementos o a los que se le aplican diversos efectos o web con diferentes capas y hojas de estilo. Esto es posible tanto a OpenGL como a DirectX9, y se le llama Aceleración Hardware de composición de capas. La ventaja de este sistema es que al funcionar sobre OpenGL podría ser usado tanto en Windows, Linux o MAC OS, mientras que para poder usar Direct2D/DirectWrite es necesario Windows Vista o Windows 7. Los dos sistemas son complementarios, uno no sustituye al otro, siendo sin duda alguna el más significativo el de Direct2D/DirectWrite.

    El secreto de los números anteriores es que tanto Internet Explorer 9 como Firefox 4 poseen ambas tecnologías en sus navegadores (en caso de Firefox en MAC OS/Linux tan solo podrá usarse evidentemente la aceleración hardware por capas, y en ninguna circunstancia se podrán beneficiar de D2D/DW). Chrome en sus últimas Builds de Chrome 11 ha comenzado a implementar la aceleración hardware de composición de capas, y dentro de esta tan solo una parte. Es decir, incluso en esas builds el soporte de aceleración de composición es pobre, y los resultados que se obtienen aunque mejoran las cifras actuales en la renderización, estan muy lejos de las cifras de IE o Firefox. Como dije, Opera ya se ha puesto manos a la obra, mientras que Safari casi con toda seguridad no lo haga. Por qué? Es simple, Safari es de Apple y Apple usa MAC OS, dudo mucho que Apple trabaje en una versión de Safari que sería muy superior a la versión de Safari para MAC OS. Una vez más vemos la importancia de un OS.

    Me gustaría aquí abrir un pequeño paréntesis. Tanto Microsoft como Opera ahora anuncian por todo lo alto que sus navegadores tienen (tendrán en el caso de Opera) un soporte por hardware total (es decir, tanto composición por capas como DW/D2D), lo gracioso es que insultan a Mozilla y a su Firefox 4 con que el navegador tan solo realiza una aceleración parcial. Bueno, esto es falso.

    La cabeza en este caso es para IE9 de nuevo, pero en esta ocasión tan solo por los pelos, actualmente el rendimiento de Firefox 4 frente a gráficos está muy a la par que el de IE9. No obstante también hay que alabar el trabajo de Mozilla, dado que es lógico que Microsoft (que fue quien creo la tecnología en cuestión) la use de forma más eficiente, sin olvidar que Firefox ya trabajaba con ella antes de que IE9 apareciese siquiera anunciado. Además, hay que aclarar algo, y es que de nuevo MS a veces hace “trampas” en sus test para inflarlos. El mejor ejemplo de esto es el test “Psicodélico”. MS usa un timeout de 4ms, mientras que por defecto actualmente Firefox 4 usa 10 ms. Cuando ambos navegadores usan 4 ms el resultado es prácticamente el mismo, pero lo que llama la atención es que si especificamos el timeout de Firefox 4 a 1, entonces Firefox 4 no ronda los 8000 puntos, sino los 30000 (si, treinta mil). Es solo un ejemplo absurdo de como hacer “trampas”. Para quien quiera saberlo, la propiedad de Firefox que controla el timeout se llama: “dom.min_timeout_value”

    En esta ocasión he decidido incluir el estándar WebGL, que permite usar especificaciones OpenGL para el navegador, es decir, la posibilidad de renderizar contenido 3D directamente en el navegador. El soporte WebGL no obstante creo recordar que es parte de HTML5 (ahora mismo no estoy seguro), y de todos los navegadores tan solo Firefox posee tanto aceleración hardware completa como soporte WebGL, con lo que los test serían un poco deprimentes para los demás. Hay que tener en cuenta que actualmente tan solo Firefox y Chrome son compatibles con WebGL. Los beneficios son claros, contenido 3D renderizado por nuestro adaptador gráfico gracias a OpenGL (en caso de Chrome por ANGLE (DirectX, en caso de Firefox por ANGLE o OpenGL nativo), el poder usar OpenGL nos abre un sin fin de posibilidades que de otro modo sería imposible, como por ejemplo juegos 3D, representaciones complejas y ricas de detalles… posiblemente uno de los ejemplos más llamativos de esto sea el cuerpo humano creado por Google:

    http://bodybrowser.googlelabs.com/body.html#

    Hay que alagar también el buen rendimiento de Chrome 10 en WebGL, una pena que no sea así para el resto de contenidos gráficos.

  • EstándaresEste es otro punto candente. Los test de estándares en este caso los he incrementado. Al tes de estandar HTML5 y al portal de MS le he sumado el de WebGL, que aunque aun tan solo Chrome y Firefox son compatibles, estoy seguro que antes de que termine el año todos se habrán subido al carro. Microsoft ha creado un portal bastante interesante en cuanto a test se refiere para estándares. En este caso en particular he pasado todos los test a Firefox 4 y todas las versiones actuales de los navegadores, y de ahí he obtenido los resultados publicados. Evidentemente estos tests están pensado para que IE9 aparezca como claro vencedor, y en cambio vemos que incluso en sus test Firefox 4 se acerca peligrosamente a los resultados de IE9, mientras que el resto aun distan mucho.

    Y que decir sobre Nielsen? Bueno, en este ocasión IE9 sale muy perjudicada, y es que aunque es cierto que IE9 ha mejorado enormemente frente a su predecesor, no es todo lo que podría ser y se ha dejado muchísimas cosas en el tintero.Personalmente a cuanto HTML5 se refiere me fío más de los segundos test, más que nada porque aun cuando Microsot esté haciendo las cosas mucho mejor, no serían tan idiotas de sacar un conjunto enorme de Test que le dieran la victoria a otro navegador. Es evidente por tanto que los test que encontraremos en Microsoft tienen la finalidad de dar como ganador a IE9. No obstante son igualmente útiles a la hora de comparar el resto de los navegadores.

    En estos test encontramos de nuevo grandes sorpresas, quizás no tanto por los números, pero sí por lo que significan si se saben interpretar. Por ejemplo, si hacemos cuenta a los Test de IE9 vemos que Firefox 4 llega casi al 80% en todos ellos, llegando al 90% en la mayoría de los casos. Pero si mirásemos donde falla (por motivos de legalidad no creo que pueda publicar la tabla completa de resultados tal y como la tiene publicada microsoft), vemos que lo hace en su mayoría en DOM (escritura japonesa y eventos) y en algunos elmentos de HTML5 (con elementos no me refiero a partes de html5). Tanto Chrome como Safari (los cuales usan ambos el mismo engine WebKit), así como Opera obtienen claramente unas “puntuaciones” bastante inferiores. El test de MS hay que mirarlo con prudencia evidentemente. Como podemos ver es claro que MS iba a obtener un 100% en todos los test (es de cajón), del mismo modo que es evidente que aquellos test en los que IE9 fuese a fallar no se exponen. Pero evidentemente dejando a un lado a MS, es interesante para probar al resto de los navegadores.

    En la nueva actualización del test de compatibilidad de MS se han cambiado unas cuantas cosas de sitio, pero casi todos los test son los mismos. Si se ha incluido como novedad una especificación (de nuevo, no deja de ser por ahora un borrador no definitivo) llamado Web Timing. En realidad será posiblemente una función interesante de cara a diseñadores/programadores web (para mi resulta interesante), aunque de escaso valor para el público mayoritario, y que por ahora tan solo MS como chrome la integran ligeramente. Mozilla trabaja en ella pero dad la ambiguedad de las especificaciones oficiales y del continuo cambio de estas, no parecen estar muy convencidos (no porque resulte difícil su implantación, sino por una cuestion de no trabajar el doble para nada). Safari y Opera por ahora no se han movido al respecto.

    Podemos concluir sin duda alguna que mirando todos los tests, quizás el navegador más compatible con los estándares actuales sea Firefox, seguido quizás por Chrome. Determinar el tercer lugar sería complicado, quizás fuese Internet Explorer, quizás Opera, quizás Safari, todo depende de a que le diésemos mayor valor. Pero es lo que sucede con los estándares que aun a día de hoy no son oficiales.


  • Compilaciones x64Copiado del articulo anterior en parte: Aun no he tocado este tema. Como puede verse, se ha usado también las versiones de 64 bits de los navegadores que las tienen, Firefox e IE9. En general podemos decir que el soporte x64 aun no cumple con lo esperado. El equipo de Mozilla por su parte está logrando alcanzar los resultados que se obtienen con el navegador de 32 bits, mientras que en cuestionese intensivas se puede obtener un mejor rendimiento. Por otro lado me he topado con una gran sorpresa al ver la versión de 64 bits de IE9. No, no hay error en las cifras, IE9 x64 falla estrepitosamente en JavaScript!! es posible no obstante que su nuevo motor JS no haya sido portado a la versión x64, y de ahí a sus resultados tan dispares. Portar un programa a 64 bits es complicado. Ya no solo el optimizarlo, sino simplemente el portarlo. La gran mayoría de optimizaciones no se han realizado teniendo en cuenta los 64 bits, con lo que es de esperar que el rendimiento sea inferior. La buena noticia es que en el caso de Firefox el proyecto ya ha unificado las dos arquitecturas. Cada día que pase los compiladores que usan estarán mejor preparados para 64 bits y llegará el día en el que efectivamente veremos de forma clara el beneficio de un navegador web de 64 bits, a fin de cuentas recordemos que teóricamente un programa en 64 bits podría ser hasta un 15-20% más eficiente que su homólogo en 32 bits (por supuesto dependiendo de mil circunstancias).

    Queda citar que la versión oficial de 64 bits para Firefox no aparecerá en Firefox 4, sino que será retrasada para Firefox 5 (que debería de llegar antes del verano).
    Por su parte, actualmente no existe intención por parte de los demás navegadores la creación de versiones de 64 bits, aunque creo (no estoy seguro) que para MAC OS si hay una versión de 64 bits de Safari.

 

Creo que todos estan haciendo un trabajo importante, sobre todo Google y Mozilla. Safari se está quedando muy atrás en la guerra de los navegadores (si es que alguna vez entró en ella) y Opera no logra levantar cabeza. Aun está por ver si IE9 logra levantar algún punto, aunque debería de ser posible dado el marketing del lanzamiento de este. El problema es que junto a este llega ahora el de Firefox 4 (la semana que viene), lo cual puede ecliptar en parte IE9, sin contar evidentemente que aunque IE9 es un buen avance frente IE8, no es comparable ni de lejos a Chrome ni Firefox.

De todos modos aquí no podemos cubrir todos los test posibles, el decir que navegador es mejor que otro es algo complicado. Personalmente la mayoría conoce mi predilección, que es sin duda alguna Firefox 4. Chrome es una opción interesante, pero cojea enormemente tanto en extensiones como en opciones, por ejemplo el depender de las opciones de IE para configurar un proxy, algo que debería de ser trivial, o la pobre implementación de aceleración hardware que posee o poseerá a corto plazo. De Opera no puedo decir nada, solo que posiblemente nunca logren una cuota importante de mercado, mientras que IE9 bueno… como sustituto de IE8 por supuesto, pero al igual que Safari, aun estan a años luz de lo que es Firefox. ¿Para mi? 1º Firefox, 2º Chrome, 3º IE9, 4º Opera, 5º Safari.

Aprovechando el lanzamiento oficial de Firefox, ampliaré parte de la información y veremos como muchas características que aquí no se nombran son de peso a la hora de escoger un navegador, no simplemente test sintéticos o números que muchas veces simplemente no nos dicen nada.