Comunidad de diseño web y desarrollo en internet online

Muchas Flash XML Gallery tostando el explorador

Citar            
MensajeEscrito el 28 Sep 2010 11:49 am
Hola a tod@s,
estamos desarrollando una web de viajes con información de diversas ciudades del mundo. Manejamos un número muy elevado de fotografías ya que en cada ciudad podemos tener hasta 7 galerías de fotos (una de la propia ciudad, 3 de excursiones y 3 de hoteles). En cada momento se muestra sólo una sola galería, pudiendo escoger ver la galería de la ciudad, de la primera excursión, de la segunda...

Resumiendo, en cada ciudad puede haber 7 galerías mostrando un total de 140 fotos. Si una persona se dedica a navegar por todos los viajes y todas las ciudades posibles el número de galerías y de fotos puede multiplicarse por 100.

Estamos utilizando una típica galería flash que coge las rutas de las fotos de un XML. El problema es que según se van mostrando galerías, el navegador (Internet Explorer) va consumiendo cada vez más memoria y CPU hasta el punto de colapsar prácticamente el ordenador.

Aproximadamente cada foto individual que se muestra aumenta en 3 MB la memoria consumida, por lo que ver una galería completa equivale a un consumo de memoria de 60 MB. Yo pensaba que al descargar una galería se liberaría esa memoria consumida, pero no es así. Si se ven 2 galerías completas la memoria consumida aumenta a 120 MB, con la tercera 180 MB, etc... Y a todo esto el rendimiento de la CPU va disminuyendo.

Para cargar una galería utilizo el siguiente código:
//////////////////////////////
var galleryloader:Loader;
var galleryurl:String = "gallery/"+arrayCiudades[ciudad]["codigo"]+"/ciu/gallery.swf";
var pelicula:URLRequest = new URLRequest(galleryurl);
galleryloader = new Loader();
addChild(galleryloader);
galleryloader.load(pelicula);
//////////////////////////////

Y para descargarla:
//////////////////////////////
removeChild(galleryloader);
//////////////////////////////

He escrito a los autores de la galería y no me han respondido. Puedo ponerme a descargar y probar otras galerías, aunque las versiones de prueba normalmente no me permiten incrustarla en mi película flash. Pero antes de ponerme a descargar y probar otras galerías me gustaría confirmar si el problema está en la propia galería o en algún otro punto, ya que he trabajado mucho en la que estamos utilizando.

Por ello mi post va orientado a saber si estoy cargando/descargando bien las películas, si el problema que estoy teniendo es algo propio del navegador y no hay nada que hacer (tendría que cambiar el concepto y abrir las galerías en ventanas nuevas, lo cual en principio no es una opción porque el cliente quiere todo en la misma ficha de la ciudad), si alguien ha tenido algún problema parecido y lo ha podido solucionar...

Cualquier comentario o ayuda es bienvenido.

Gracias por adelantado.

Un saludo.

Por davifili

10 de clabLevel



 

chrome
Citar            
MensajeEscrito el 28 Sep 2010 03:39 pm
Hacer el cleanup en AS3 no es tan fácil, ya que en la medida en que sigan existiendo listener activos dentro de la galería, seguirá en memoria, debería implementar algún tipo de método destroy. ¿Por que no reutilizas una misma galería en vez de cargar otras?

Jorge

Por solisarg

BOFH

13669 de clabLevel

4 tutoriales
5 articulos

Genero:Masculino   Bastard Operators From Hell Premio_Secretos

Argentina

firefox
Citar            
MensajeEscrito el 28 Sep 2010 04:17 pm
Gracias por tu respuesta Jorge.

Yo creo que el problema más que en el número de galerías está en el número de fotos, porque el consumo de memoria va aumentando según se van mostrando las fotos. Es decir, en cifras aproximadas al cargarse la galería y mostrar la primera foto la memoria consumida puede ser de 64 MB por ejemplo, al mostrar la segunda foto (van rotando solas) pasa a 67 MB, al mostrar la tercera sube a 70 MB, y así sucesivamente...

La galería tira de un XML determinado, por lo que yo tengo muchas galerías y sus muchos XML correspondientes. Con trabajo podría intentar cambiar la programación de la galería para pasarla como parámetro de una película a otra la ruta del XML correspondiente, de forma que fuese la misma galería la que enseñase todas las fotos. Pero a parte de la complicación que veo en cambiar una película desarrollada con una funcionalidad específica por otras personas, lo que he comentado en el primer párrafo me hace pensar que eso no solucionaría el problema.

Saludos,
David.

Por davifili

10 de clabLevel



 

chrome
Citar            
MensajeEscrito el 28 Sep 2010 04:18 pm
Ok, como quieras

Jorge

Por solisarg

BOFH

13669 de clabLevel

4 tutoriales
5 articulos

Genero:Masculino   Bastard Operators From Hell Premio_Secretos

Argentina

firefox

 

Cristalab BabyBlue v4 + V4 © 2011 Cristalab
Powered by ClabEngines v4, HTML5, love and ponies.