2012-02-13 9 views
6

Im haciendo una página/aplicación que presenta una amplia gama de productos. Una vista contiene una alineación de alrededor de 130 productos, eash representada por una imagen png, el tamaño varía de 33 Kb a 150 Kb.¿Por qué Chrome es tan lento cuando se cargan muchas (p130) png-images?

La alineación se puede desplazar horizontalmente con la barra de desplazamiento de los usuarios o el controlador personalizado, y cuando pasa el mouse sobre cada producto utilizo som css-transistions para fundir todos los productos excepto el que está suspendido y para agrandarlo.

Funciona perfectamente sin problemas en Safari y decentemente Firefox, y en Chrome, siempre que mantenga la cuenta regresiva de la imagen. Pero mientras más imágenes intento agregar, tanto el desplazamiento como las transiciones progresivamente se vuelven más lentas hasta que es casi imposible trabajar con ellas.

¿Esto es un cache.problem in chrome? ¿Hay alguna manera de evitarlo?

He intentado precargar las imágenes, pero el problema no es el tiempo de carga de la imagen, es el rendimiento que parece detenerse debido a la gran cantidad de imágenes.

+0

que he encontrado otros casos en los que el cromo es inexplicablemente lento, en comparación con otros navegadores. – Marcin

+0

Personalmente, encontraría un sitio que me apuraba 130 productos de una sola vez, molestos. Pero eso es un problema de diseño, y no un problema de programación. :) – Almo

+1

Hm, resulta que el problema fue que actualicé la propiedad de estilo "posición" a "absoluta" al establecer el estilo en línea a través de javascript. Cuando hice esto agregando una clase a la imagen, funcionó mejor. Extraño. – Nils

Respuesta

2

Puede combinar todas sus pequeñas imágenes en una imagen grande, y cargar SOLAMENTE la imagen grande, por lo que solo hace UNA solicitud HTTP. Para visualizar, debe establecer el desplazamiento (propiedad de posición de fondo) de cada imagen usando css.

Tutorial

+0

Google hace lo mismo: http://www.google.it/images/nav_logo102.png – tyranitar

+0

El problema no son las solicitudes http, cuando eliminé la parte donde cambié las hojas de estilo en línea (posición: absoluta) y, en su lugar, agregué una clase que hizo lo mismo, funcionó bien. Además, no es realmente una opción para mantener imágenes de producto en un sprite, ya que el mantenimiento sería una pesadilla. – Nils

+0

El mantenimiento no es un problema si utiliza un script automático que combina todas las imágenes pequeñas en una más grande. Cuando cambias una imagen solo necesitas volver a ejecutar el script – tyranitar

Cuestiones relacionadas