Archivo de enero de 2009

Rendimiento y Optimización de AS3

Publicado por Iván Gajate el 23 de enero de 2009 en AS3, Flash | 15 comentarios »

Leo en xinterface un listado de enlaces que pone Diego muy interesante sobre el rendimiento y la optimización de AS3:

Aplicación Flex con pruebas de rendimiento en tiempo real y reflejadas en gráficas de datos comparativas
http://businessintelligence.me/projects/performance_tester/performanceTester.html

Visible vs alpha vs removeChild()
Ventajas y desventajas de cada uno de los métodos, y situaciones prácticas de cada uno
http://www.insideria.com/2008/11/visible-false-versus-removechi.html

Caracteres “\n” y “\r” en un String de ActionScript
http://www.moock.org/blog/archives/000281.html

Descarga (unload) de contenidos cargados en Flash Player.
A veces es un infierno. Aquí entendereis el por qué y cómo solventarlo
http://www.moock.org/blog/archives/000279.html

Más sobre descarga de contenidos
http://www.gskinner.com/blog/archives/2008/04/failure_to_unlo.html

La manera más rápida de copiar un array
http://agit8.turbulent.ca/bwp/2008/08/04/flash-as3-optimization-fastest-way-to-copy-an-array/

Operaciones matemáticas más rápidas. Optimización mediante operadores de bit
http://lab.polygonal.de/2007/05/10/bitwise-gems-fast-integer-math/

Comparativa de rendimiento de los distintos loops de AS3
http://lab.polygonal.de/2006/10/08/as3-loops-performance-comparison/

Comparativa de rendimiento entre Flash Player Debugg y Flash Player Release
http://lab.polygonal.de/2006/10/08/as3-loops-performance-comparison/

Optimización de operaciones con seno y coseno
http://lab.polygonal.de/2007/07/18/fast-and-accurate-sinecosine-approximation/

Optimización de cálculo
http://rockonflash.wordpress.com/2007/08/11/optimizations-for-as3-calculations/

Técnicas generales de optimización. Pdf muy completo
http://je2050.joa-ebert.com/files/misc/as3opt.pdf

Optimización de operaciones de cálcula básicas y uso de la clase Math
http://osflash.org/as3_speed_optimizations

Comparativa entre métodos “manuales” y la clase Math
http://www.calypso88.com/?cat=7

Loops y variables. Un ejemplo muy concreto
http://www.bit-101.com/blog/?p=1271

Magicsocket

Publicado por Iván Gajate el 21 de enero de 2009 en Flash, Sitios Destacados | 16 comentarios »

Sitio web de una agencia de desarrollos Flash.

La web ya de por sí es muy chula, limpia y bien desarrollada, me encanta la manera de separar las entradas con la pista de scalextric, pero además tienen muy buenos trabajos.

http://www.magicsocket.com/

Animaciones de Precargas

Publicado por Iván Gajate el 13 de enero de 2009 en Flash, Sitios Destacados | 21 comentarios »

Veo en TheFlashBlog un sitio dedicado a las precargas, Prettyloaded. Algunas están realmente curradas. Hay que tener mucho mimo con esta parte de nuestro site, como dice Lee, es lo primero que el usuario ve al entrar 🙂

AS3 – Cosas que se deben hacer antes de descargar un swf

Publicado por Iván Gajate el 11 de enero de 2009 en AS3, Flash | 15 comentarios »

Un listado muy completo por Colin Moock para evitar problemas con el garbage collector en AS3 al descargar un swf. Via Moock Blog.

Things You Must Do Before Unloading a SWF File

If you load a .swf file into Flash Player 9 with ActionScript 3.0 and subsequently wish to remove it from memory, you must first deactivate it, and then dereference it. If you dereference the .swf without deactivating it, it will continue to consume resources and in some cases might never become eligible for garbage collection.

Here is an unofficial list of tasks required to deactivate a .swf file:

  • Tell any loaded .swf child assets to disable themselves.
  • Stop any sounds from playing.
  • Stop the main timeline, if it is currently playing.
  • Stop any movie clips that are currently playing.
  • Close any connected network objects, such as instances of Loader, URLLoader, Socket, XMLSocket, LocalConnection, NetConnections, and NetStream.
  • Release all references to cameras and microphones.
  • Unregister all event listeners in the .swf (particularly Event.ENTER_FRAME, and mouse and keyboard listeners)
  • Stop any currently running intervals (via clearInterval()).
  • Stop any Timer objects (via the Timer class’s instance method stop()).

Note that the preceding list is, by definition, insufficient because it is neither exhaustive nor officially maintained by Adobe. If you know of a task that needs adding to the preceding list, please sent it to me via email (username colin, domain moock.org).

As of Flash Player 10, the preceding tasks can be performed automatically by calling the Loader class’s new method unloadAndStop().

For further discussion, see Charge #2 in my Inside RIA article, The Charges Against ActionScript 3.0 and Grant Skinner’s article Additional Information on Loader.unloadAndStop().