realmente es un tema en el que se pueden perder horas.
Hace tiempo que, a traves de un post de una lista, salto la "alarma" de las deficiencias en cuanto a rendimiento de la dot sintax. Pero ahora mas que nunca, gracias a flasm, te das cuenta de el impacto que tienen en las peliculas que usan intensivamente la programacion para animar.
 
el ejemplo mas claro es con los "gotoAndStop" y similares (control de la linea de tiempo)
la diferencia que hay entre usar _parent.gotoAndStop(1) y tellTarget("../")gotoAndStop(1) es abismal.
mirad la diferencia del bytecode creado por uno y por otro:
 
con tell Target:
 
movie 'target.swf' // total frames: 1
 
  defineMovieClip 1 // total frames: 1
 
    frame 0
      setTarget '../'
        gotoFrame 0
      end
    end // of frame 0
  end // of defineMovieClip 1
end

con _parent:
 
movie 'parent.swf' // total frames: 1
 
  defineMovieClip 1 // total frames: 1
 
    frame 0
      push 1, 1, '_parent'
      getVariable
      push 'gotoAndStop'
      callMethod
      pop
    end // of frame 0
  end // of defineMovieClip 1
end

en el ultimo caso �Entran en juego dos constantes de texto y usa 3 lineas mas! esto tiene un impacto realmente negativo.
 
Lo que seria interesante es la posibilidad de modificar ese byteCode de una forma automatizada. Que haga lo que el compilador de flash no hace. Y que cambie este tipo de sentencias automaticamente.
 
Alguien de aqui optimiza el bytecode? Seria interesante que nos contase como lo hace y porque. Yo me voy a poner a ello, pero estaria bien si alguien diese unas pautas.
 
DDT
 
       <% Joseba Alonso Perez %>
        <% Desarrollador  web %>
       <%
www.inproweb.com %>
 
 
----- Original Message -----
From: <[EMAIL PROTECTED]>
To: <[EMAIL PROTECTED]>
Sent: Wednesday, October 17, 2001 12:38 PM
Subject: [flashmaestro] �Qu� es el Bytecode y en qu� puede ayudarnos?

> Buenos d�as a todos co-listeros:
> Se han recibido muchos mails acerca de la optimizaci�n de pesos, carga
> de CPU, etc�tera.
>
> En primer lugar, habr�a que explicar como funciona el flash para
> comprender un poquito mejor esto. Yo no soy programador ni ingeniero
> inform�tico sino dise�ador y es posible que no entre en profundidad
> pero espero que al menos sirva para impulsar este tema.
>
> En todos los procesos de compilaci�n se requiere de lo siguiente:
> - An�lisis L�xico: el an�lisis l�xico es traducir en tokens
> (generalmente n�meros y en el caso de Flash son n�meros, v�ase ASNative
> en threads anteriores) las instrucciones ActionScript.
>
> - An�lisis Sem�ntico y transformaciones: traduce estos tokens en
> sentencias entendibles y las transforma en c�digo _m�quina_ que
> interpretar� (se asemeja a un procesador) el Flash plug-in o Player,
> los cuales contienen la informaci�n necesaria para mostrar esto en
> pantalla.
>
> El bytecode contiene pues estos tokens.
>
> Muchas de las notaciones que nosotros usamos (ya sea dash-notation o
> dot-notation) se transforman luego en el bytecode, con lo cual dar�a
> igual usar unas que otras.
> De todas formas, existen sentencias que cambian.
>
> Esto se traduce en una posibilidad de representar un mismo token de
> forma diferente, con lo cual habr� alguna forma m�s eficiente que la
> otra.
>
> �C�mo puede servirnos esto para optimizar nuestro c�digo?
> Existe un programa que desensambla nuestro swf (bytecode) en c�digo
> _legible_ que, aunque no entendible por el Flash Player o el Plug-in,
> nos sirve para optimizar estos procesos.
>
> El paso l�gico ser�a desensamblar nuestro swf en el bytecode legible y
> luego reensamblar nuestro swf con el c�digo legible ya transformado (al
> desensamblar nuestro swf en legible se optimizan tambi�n las
> sentencias).
>
> URL donde conseguir el desensamblador/ensamblador FlasM:
>
http://www.nowrap.de/flasm.html
>
> M.
>
>
>

Responder a