joder que no afecta :)
no se trata del tipo del codigo sino de las variables que entran en juego.
Yo tampoco soy un experto pero en el segundo caso yo veo dos constantes de
tipo string que pasan por algun tipo de parser antes de ser ejecutadas, por
ejemplo
en el de _parent (lento)
push 'gotoAndStop'
callMethod
pop
mientras que en el segundo hace una llamada directamente
gotoFrame 0
por tanto y por pura logica lo segundo sera infinitamente mas rapido ya que
no utiliza variables que tiene que meter y sacar de la memoria, ni tiene que
parsearlas a algun tipo de accion. �No crees?
si todavia dudas mirate esta url:
http://www.fatorcaos.com.br/flash5tests/speed_1swf.html
DDT
<% Joseba Alonso Perez %>
<% Desarrollador web %>
<% www.inproweb.com %>
----- Original Message -----
From: Pablo Cirre
To: [EMAIL PROTECTED]
Sent: Friday, October 19, 2001 10:20 AM
Subject: [flashmaestro] Re: [flashmaestro] Re: [flashmaestro] �Qu� es el
Bytecode y en qu� puede ayudarnos?
mmmmm,no se que opinar,
en la facultad nos ense�an que la complejidad del codigo se usa N para
definir ordenes y N2 (cuadrado) para bucles y la cosa se complica de verdad
cuando hay recursividad.
por lo que la complejidad de ambos codigos sigue siendo n , ambos codigos
tienen la misma carga.
otra cosa seria si tubiese bucles. Entonces seria n2 por cada bucle y si
est�n dos bucles anidados n2*n2 ....
dicho en cristiano ,que no afecta.
----- Original Message -----
From: Joseba Alonso
To: [EMAIL PROTECTED]
Sent: Thursday, October 18, 2001 10:34 AM
Subject: [flashmaestro] Re: [flashmaestro] �Qu� es el Bytecode y en qu�
puede ayudarnos?
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.
>
>
>