Comunidad de diseño web y desarrollo en internet online

optimizar codigo

Citar            
MensajeEscrito el 18 May 2009 02:23 pm
Hola buenas, pues estoy interesado en optimizar cuando mas mejor, y lo que queria preguntaros es si hay alguna aplicacion o alguna manera de saber cuantos recursos esta consumiendo el swf que tengo en ejecucion. Un saludo

Por n0ldor

55 de clabLevel



 

firefox
Citar            
MensajeEscrito el 18 May 2009 02:34 pm
Hola

Si estas usando Flex, podes utilizar el Flex profiler que indica todos los recursos q consume el swf a medida q se va ejecutando.
Por otro lado temas de optimizacion hay mucho en google... que tipo de optimizacion estas buscando? porq necesitas optimizar? tarda mucho la ejecucion del codigo? se cuelga luego de utilizarse un tiempo?

Saludos!

Por alfathenus

833 de clabLevel

5 tutoriales

 

buenos aires || Argentina

firefox
Citar            
MensajeEscrito el 19 May 2009 07:54 am
Buenas es que luego de tener el swf un tiempo el navegador cada vez se relentiza mas y eso que no tengo ningun evento activo, lo unico que tengo es una transicion de diapositivas con tweenlite entonces queria ver de alguna manera el motivo por el cual lo hace...

Por n0ldor

55 de clabLevel



 

firefox
Citar            
MensajeEscrito el 19 May 2009 08:17 am
Si quieres puedo poner el codigo solo que igual es algo extenso...
Son 214 lineas y poniendo algo tan extenso la gente no lo suele ver jejeje

Un saludo

Por n0ldor

55 de clabLevel



 

firefox
Citar            
MensajeEscrito el 19 May 2009 10:43 am
Si estás "jugando" con imágenes que se van cargando, recuerda eliminarlas completamente de la memoria. No sólo es necesario hacer un removeChild, sino, además eliminar los eventos asociados e igualar a null la variable si no lo hubieras hecho ya

Por Eliseo2

710 de clabLevel



 

firefox
Citar            
MensajeEscrito el 19 May 2009 10:55 am
Hmmm pues no te entiendo muy bien que le hago ademas del remove chill, te pongo el codigo aunque dudo que lo veais pero bueno por si os apetece echarle un ojo.

Le borre un cacho de codigo del principio de un evento que comprueba si cambia el tamaño de la ventana y la mitad del codigo esta repetido pero con pequeñas variaciones puesto que hace la transicion en dos banners, uno en la derecha y otro en la izquierda. :P

Muchas gracias

Código :

package classes{
   
   import flash.display.*;
   import flash.events.*;
   import flash.net.*;
   import flash.text.*;
   import flash.utils.*;
   import gs.*;   
   import classes.*;
   
   public class fotos extends MovieClip{
   
      private var width_Iz = 298
      private var height_Iz = 889
      private var width_Dr = 596
      private var height_Dr = 889
      private var finalWidthIz = 0;
      private var finalWidthDr = 0;
      private var numeroDeFotos = 7;
      private var contadorIz = 0;
      private var contadorDr = 0;
      private var acaboIz = false;
      private var acaboDr = false;
      
      private var carga:Loader;
      private var cargaB:Loader;
      
      public function fotos (){
         addEventListener (Event.ADDED_TO_STAGE, empieza);
      }
      
      private function empieza(e:Event){
            
         
         cargaIz();
         cargaDr();
         
         x = 180;
         y = 50;

         grande.x                = stage.stageWidth - (((stage.stageWidth / 4) - 180) * 2) - 180;

      }
      
   
      
      private function cargaIz() {
         if (contadorIz == numeroDeFotos){
            contadorIz = 1;
         }else{
            contadorIz++;
         }

         var direccion_foto_Iz = "../common/imagenes/foto" + contadorIz + "_i.jpg"
         
         carga = new Loader(); 
         carga.load(new URLRequest(direccion_foto_Iz));
         carga.contentLoaderInfo.addEventListener(Event.COMPLETE, completadoIz); 
      }
      
      function completadoIz(e:Event) {
         var bitmap = carga.content as Bitmap;
         bitmap.smoothing = true;
         
         var l:int = peque.ancla1.numChildren-1
         for(var j = l; j >= 0;j--){
            peque.ancla1.removeChildAt(j);
         }
         
         peque.ancla1.alpha = 0;
         peque.ancla1.addChild(carga);
         
         peque.ancla1.height       = stage.stageHeight - 50;
         peque.ancla1.width         = width_Iz * (peque.ancla1.height / height_Iz);
         peque.ancla1.x             = (finalWidthIz - peque.ancla1.width)/2;
         
         TweenLite.to(peque.ancla1, 1, {alpha:1, onComplete:coloca_segunda});
      }
      
      function coloca_segunda() {
         var bitmap2 = carga.content as Bitmap; 
         bitmap2.smoothing = true; 
         var carga2:Bitmap = new Bitmap(bitmap2.bitmapData.clone()); //<--creamos una copia 
         
         peque.ancla2.height       = stage.stageHeight - 50;
         peque.ancla2.width         = width_Iz * (peque.ancla2.height / height_Iz);
         peque.ancla2.x             = (finalWidthIz - peque.ancla2.width) / 2;
         peque.ancla2.alpha          = 1;
         peque.ancla2.addChild(carga2); 
         
         temporizadorGlobal("Iz");
      }
      
      
      
      
      
      
      private function cargaDr() {
         if (contadorDr == numeroDeFotos){
            contadorDr = 1;
         }else{
            contadorDr++;
         }

         var direccion_foto_Dr = "../common/imagenes/foto" + contadorIz + "_d.jpg"
         cargaB = new Loader(); 
         cargaB.load(new URLRequest(direccion_foto_Dr)); 
         cargaB.contentLoaderInfo.addEventListener(Event.COMPLETE, completadoDr); 
      }
      
      function completadoDr(e:Event) {
         var bitmap = cargaB.content as Bitmap;
         bitmap.smoothing = true;
         
         var l:int = grande.ancla1.numChildren-1
         for(var j = l; j >= 0;j--){
            grande.ancla1.removeChildAt(j);
         }

         grande.ancla1.alpha = 0;
         grande.ancla1.addChild(cargaB);
         
         grande.ancla1.height       = stage.stageHeight - 50;
         grande.ancla1.width      = width_Dr * (grande.ancla1.height / height_Dr);
         grande.ancla1.x          = (finalWidthDr - grande.ancla1.width)/2;
         
         TweenLite.to(grande.ancla1, 1, {alpha:1, onComplete:coloca_segunda_dr});
      }
      
      function coloca_segunda_dr() {
         var bitmap2 = cargaB.content as Bitmap; 
         bitmap2.smoothing = true; 
         var carga2:Bitmap = new Bitmap(bitmap2.bitmapData.clone()); 
         

         grande.ancla2.height          = stage.stageHeight - 50;
         grande.ancla2.width         = width_Dr * (grande.ancla2.height / height_Dr);
         grande.ancla2.x             = (finalWidthDr - grande.ancla2.width) / 2;
         grande.ancla2.alpha          = 1;
         grande.ancla2.addChild(carga2); 
         
         temporizadorGlobal("Dr");
         
      }
      
      
      
      //Temporizador global
      private function temporizadorGlobal(donde) {
         TweenLite.killTweensOf(grande.ancla1, true);
         TweenLite.killTweensOf(peque.ancla1, true);
         
         
         if (donde == "Iz") {
            acaboIz = true;
         } else {
            acaboDr = true;
         }
         
         
         if (acaboIz == true && acaboDr == true) {
            
            acaboIz = false;
            acaboDr = false;
            

            var minuteTimer:Timer = new Timer(1000, 7);
            minuteTimer.addEventListener(TimerEvent.TIMER_COMPLETE, onTimerComplete);
            minuteTimer.start();
            
            function onTimerComplete(e:TimerEvent) {
               cargaIz();
               cargaDr();
            }
         }
      }
   }
}

Por n0ldor

55 de clabLevel



 

firefox
Citar            
MensajeEscrito el 20 May 2009 03:41 pm
Nadie se anima a echamre una mano? :P

Por n0ldor

55 de clabLevel



 

firefox

 

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