martes, 2 de septiembre de 2008

Google Chrome y EeePC 701

Después de haber hablado del nuevo navegador de Google viene la revisión de su funcionamiento en un ultraportátil, en este caso mi propio EeePC 701 que ya empieza a estar obsoleto pero que resulta ideal para realizar la prueba.
En primer lugar describiré el entorno de trabajo:
  • Ultraportátil Asus EeePC 701

  • 1 Gb de memoria RAM

  • 8 Gb de SSD

  • Sistema operativo Windows XP completo instalado en la SSD.

PROCESO DE INSTALACION DE GOOGLE CHROME

Es bastante sencillo. Se accede a su descarga desde este enlace (siempre que lo hagas desde Windows) y a través de un installer se realiza todo el proceso. Las únicas preguntas que te hace es si quieres importar los elementos de Firefox (curiosamente no pregunta por MSIE). y si quieres instalar unos iconos de acceso directo para el lanzamiento de la aplicación (que por cierto, le dije que sí pero lo único que hizo fue agregar un grupo 'Inicio->Programas')..

Tuve la precaución de anotar el espacio ocupado en la SSD antes de la instalación (5,172 Gb) y después (6,225 Gb). Se deduce pues que no ocupa más de 83 Mb.

ACTUALIZACION: Nuestro lector sagman nos aporta el link a la lista de correo de aviso de disponibilidad de Chrome para Linux. Y josvazg el del código fuente de Chrome.

Muchas gracias a los dos.

EJECUCION DE GOOGLE CHROME

Me ha sorprendido mucho la rapidez en el lanzamiento, entre 3 y 5 segundos tarda desde que se hace click sobre el icono. Muchísimo más rápido que Firefox o MSIE.

INTERFAZ

Es bastante sencilla, sin pretensiones. Lo que más destaca son las pestañas en la parte superior que están por encima del resto de elementos, algo novedoso. Pero la complejidad está oculta. Si a primera vista pareciera que se trata de un navegador rudimentario, lo verdaderamente interesante está dentro a la espera de liberarlo.

De todas formas hay algunas cosas extrañas. Hay páginas en las que no muestra las barras de desplazamiento horizontal y vertical y aparecen cortadas.


Pero es que la resolución del EeePC, 800x480, y que posiblemente el código fuente de la página ha deshabilitado las barras de desplazamiento, hacen de las suyas.
En esta otra sí que aparecen las barras de desplazamiento:


PRIMERA PRUEBA: FLASH Y GESTION DE MEMORIA

Ya sabeis lo pesado que soy con Flash. Por eso fue el primer test que le hice a Chrome. Me fuí a Youtube y para mi sorpresa me encontré el plugin de Flash ya instalado. Abrí 5 pestañas cada una de ellas con una película diferente y las reproducí simutáneamente. Mi intención era comprobar el asunto que Google comentaba de los 'espacios de memoria separados'. Sabía que el sistema iba a estar sobrecargado y me interesaba ver si durante los inevitables bloqueos que se iban a producir se podían realizar otras operaciones con el navegador como por ejemplo navegar entre las pestañas o desplegar los menús de la aplicación.

Pues nada. Ni corto ni perezoso le dí al Play en los cinco vídeos...Cuando conseguí que los cinco estuvieran simultáneamente reproduciendo, que costó trabajo, comencé a experimentar paradas, bloqueos, incluso intentando ejecutar procesos que supuestamente son ajenos a las páginas web como navegar por el menú. Se notaba que el sistema estaba 'cargadillo'. Entonces me acordé de la funcionalidad "Task Manager" donde se pueden ver todos los procesos que Chrome está ejecutando, su consumo de memoria y sus transferencias de datos.




Y fue cuando me llevé una gran sorpresa...Mirad la captura de pantalla de la lista de procesos:



Tenemos cinco pestañas abiertas cada una de las cuales está reproduciendo una película Flash. Se ven en la lista los cinco procesos que representan a cada una de las pestañas abiertas y un único proceso de plugin de Flash. ¿Qué significa esto?. Pues que cuando pulsé el botón 'Finalizar proceso' sobre el plugin se detuvo en las cinco páginas, no solamente en la que tenía seleccionada en ese momento. Esto nos ayuda a comprender un poco mejor el funcionamiento de un navegador, de los objetos embebidos en él y de la interrelación entre ambos. Flash (como cualquier otro objeto embebido) es un 'alien' que se clona a sí mismo y cuyo espacio de memoria es común para todas las instancias que de él se ejecuten. Matando uno de esos clones acabas con la especie. Esto es bueno y malo, pero inevitable y no es algo de lo que Chrome sea responsable. Digamos que Chrome ha sacado a la luz cosas que convenía saber. Si pensábamos que por cada película de Flash estábamos consumiendo más memoria, no es cierto (aquí me he lanzado a la piscina sin mirar si hay agua. Quizás alguno de nuestros lectores me corrija). Lo que estamos consumiendo es más proceso del micro.

Así queda el navegador cuando se detiene el proceso del plugin de Flash:


Pero había otra prueba interesante por hacer: ¿qué pasaría si abriera DOS instancias de Chrome, cada una de ellas con cinco pestañas apuntando a Youtube y detuviera el plugin de Flash en una de ellas? ¿Le afectaría a la otra?. Pues después de haber abierto las dos instancias de Chrome con las DIEZ películas de flash en modo Play y antes de que pudiera hacer nada más, ocurrió esto:



Y al pulsar 'Sí' se detuvo en ambas instancias pero no ocurrió nada más. Parece que lo que dicen de Chrome es cierto con respecto a la gestión de la memoria. Ambas permanecieron abiertas sin problemas y volví a recargarlas para reintentar la prueba (¿soy pesao o no soy pesao?), esta vez con tan solo una pestaña de Youtube en cada una de ellas.

Esta vez sí que funcionó. Las dos instancias de Chrome estaban reproduciendo sendas películas Flash sin problemas. Y en una de ellas abrí el Task Manager y detuve el proceso del plugin. Como era de esperar, también se detuvo en la otra instancia de Chrome automáticamente. Por cierto, que en ambas instancias aparecen listados los procesos de la otra.

Corolario: lo importante para Flash no es la memoria, sino el microprocesador (¿me he vuelto a tirar a la piscina sin mirar?).

Es muy interesante esta funcionalidad de Chrome. Si eres desarrollador te va a ser de gran utilidad ya que te ayudará a detectar procesos que están consumiendo memoria y no está siendo correctamente liberada (por ejemplo no estás haciendo un correcto uso del 'garbage collector') y, para los procesos AJAX, estar 'sniffeando' el flujo de datos es muy útil.

Tenía una sospecha después de haber hecho todos estos experimentos. Ya os dije que el plugin de Flash está incorporado en la instalación de Chrome. Esto, junto con la petición de importación de los elementos de Firefox que hizo durante la instalación, me hizo pensar que quizás Chrome usa el mismo plugin que Firefox. Una prueba que hice fue abrir una instancia de Chrome y otra de Firefox. Reproducí simultáneamente sendas películas de Flash en ambos navegadores y desde Chrome detuve el proceso del plugin. En Firefox siguió funcionando. Pero, claro está, Chrome y Firefox son dos aplicaciones diferentes y aquí si que ambas usan espacios de memoria totalmente distintos. No se, aún no lo tengo claro...Habría que instalar Chrome en una paltaforma que no tuviese Firefox, quizás, para seguir haciendo el experimento.

ALGUNOS SECRETOS DE GOOGLE CHROME

Hay algo que no me ha gustado y es que con respecto a las contraseñas, solamente da dos opciones, 'Guardar contraseña' y 'Jamás para este sitio'. Falta la de 'No por ahora', como en Firefox.

ACTUALIZACION: Como bien dice nuestro amable lector asvhen, el 'No por ahora' es la crucecita arriba a la derecha. Lógico pero no muy intuitivo, al menos para mis neuronas.

Por otra parte tenemos una opción muy interesante que es 'Nueva ventana de incógnito' que lo que hace es abrir una ventana nueva de Chrome, aunque no es exactamente eso. Es una pestaña flotante que depende de la primera instancia del navegador (parent->child) con lo que sus procesos aparecen listados junto con los demás en el Task Manager y, por lo tanto, cosas como las descritas anteriormente con Flash le afectarán también, y asimismo ella influirá en los demás.



Otro secreto interesante es el que aparece en el menú contextual que se despliega sobre el navegador que es 'Inspeccionar elemento' . Esto permite situarte sobre cualquier punto de la página web y al pulsarlo se abre una ventana que te lleva al punto exacto del código fuente de la página para analizarlo.




La lástima es que no hace cosas como Firebug, que además de hacer eso te permite modificar el código fuente 'on the fly'. Una pena.

ACTUALIZACION: Un lector, tecsisa, nos explica detalladamente las herramientas de depuración de Google Chrome.

Otra cosa interesante es el OMNIBOX, la caja de direcciones que te sugiere automáticamente sitios de interés en función de lo que vayas escribiendo en ella. Fue curioso ver como reaccionó al escribir asus: Google nos pone en segundo lugar, detrás del mismo Asus:


He de decir, en honor a la verdad, que quizás el responsable de que aparezcamos en segunda posición sea la importación de los elementos de Firefox que la instalación de Chrome hizo al principio. Pero también es verdad que en mis elementos de Firefox no figuraba asus.com. Me gustaría que algún lector hiciera la prueba y comentara los resultados.

Y por último otra opción interesante que aparece en el menú principal: 'Acceso directo a aplicaciones'. Supongamos que estamos en la página web de AsusE3. Pues bien, al pulsar esa seleción podemos insertar un icono en nuestro escritorio o en el menú de Inicio Rápido del sistema tal y como se aprecia en la fotografía.


Muy interesante también.

De momento es suficiente. El EeePC 701 se ha comportado bien y parece aceptar a Chrome sin problemas. Y eso que es una máquina limitada de microprocesador (no está overclockeado).
Os dejo a vosotros que sigais investigando y descubrais cosas nuevas.

ACTUALIZACION: Desués de leer los comentarios que los lectores del blog de Enrique Dans están dejando sobre el funcionamiento de Chrome, conviene realizar algunas pruebas más.
En este caso los applets de Java. Después de leer un comentario de Belén en ese blog donde dice que ha probado a cargar contenido Java de esta página y que al parecer no está instalado el plugin, confirmo sus resultados:



La misma página la he probado con MSIE y con Firefox y el Plugin se instala automáticamente
Me he ido a la página de pruebas de Sun desde Chrome para probar la características Java y este es el resultado.




Entonces he probado a instalar Java desde Sun y, como es lógico, me ha dicho que ese software ya está instalado en mi máquina.

Como veis, parece que Java está 'missing' de momento en Chrome para Windows.