SlideShare una empresa de Scribd logo
1 de 26
Optimización de Contenido
    Flash para Móviles
         @edgarparada
Agenda

• Introducción a la Optimización
• Uso de Memoria
• Minimizar gasto de CPU
• Mejorar velocidad de Rendering
• ¿Preguntas?
Optimización



La optimización de nuestros contenidos Flash
es un factor muy importante para lograr una
reproducción más consistente, mejora la responsividad
(usabilidad*), tendremos más poder del CPU
disponible, etc.
Optimización



La optimización de nuestros contenidos Flash
es un factor muy importante para lograr una
reproducción más consistente, mejora la responsividad
(usabilidad*), tendremos más poder del CPU
disponible, etc.
¿Cómo funciona FP?


El runtime opera en un ciclo con ciertas instrucciones que
ocurren en cada “frame”. Un frame es un simple bloque de
tiempo determinado por los FPS.
Cada frame tiene 2 fases, divididas en 3 partes: eventos,
enterFrame y rendering.
Ejecución de Código
•   Fase 1 - Eventos y enterFrame

    Los eventos de FP llegan y se
    notifican, el evento enterFrame
    siempre se ejecuta una vez por
    frame.                           ”Elastic Racetrack”

•   Fase 2 - Rendering
                                         50%    50%
    FP calcula el estado de todos
    los elementos visuales y los
    dibuja (renderea) en pantalla.     Fase 1         Fase 2
Benchmarking
• Siempre que hacemos optimización es
  muy importante poder medir los
  resultados. Existen 2 tipo de benchmarking:
 • Cuantitativo (medible) - Depende de
    ciertas herramientas
 • Cualitativo (persepción) - Depende del
    contexto
Benchmarking Cuantitativo
Medir Tiempo Transcurrido

El tiempo transucrrido puede llegar a medirse
con una función sencilla:
tiempo = getTimer();
// todo lo que vamos a medir
tiempoTranscurrido = getTimer() - tiempo;
PerformanceTest.as
Es una librería creada por Grant Skinner (http://
gskinner.com/libraries/) para probar desde funciones
en una línea de tiempo hasta generar todo una serie
de pruebas de desempeño durante el desarrollo.
//Prueba de una función
perfTest.testFuncion(function, iterations);
Medir Frame Rate
Performance Monitor
https://github.com/mrdoob/Hi-ReS-Stats
Es una clase que provee información para monitorear el desempeño
de nuestro código ActionScript.
 •   FPS Cuantos cuadros fueron renderizados en 1 segundo.
 •   MS Milisegundos que se necesitaron para renderizar un cuadro.
 •   MEM Memoria usada por el código, si aumenta esta MAL.
 •   MAX Cantidad Máxima de memoria alcanzada por la
     aplicación.
Flash Builder Profiler



Es una vista que nos permite analizar “en vivo” la
aplicación. Existe la posibilidad de tomar snapshots
de memoria y monitorear funciones del GC.
Benchmarking Cualitativo
UX influencia
nuestra tolerancia
  Desempeño
  Hay diferentes factores que
pueden afectar la persepción de
 los usuarios: acciones, alertas,
  distractores, precargas, etc.
Frame Rate
Un framerate más alto implica realizar más
operaciones por segundo o menos tiempo para
realizar dichas operaciones según quiera verse ;-)
Es un valor dinámico dentro de Flash...
• Flash IDE - Properties / FPS
• ActionScript 3 - [SWF(frameRate=“24”)]
• Flex - <s:Application frameRate="24">
Uso de Memoria
Tratar de conservar la memoria de nuestras
aplicaciones siempre es importante durante el
desarrollo, en el caso de los móviles debe
considerarse una prioridad.
Existen diversas técnicas que se verán afectadas
por el uso de Display objects, reutilización de objetos,
optimización de bitmaps, manejo adecuado de filtros,
etc.
Display Objects
  trace(getSize(new Shape()));
         // output: 236
 trace(getSize(new Sprite()));
         // output: 416
trace(getSize(new MovieClip()));
         // output: 452
Reutilización de Objetos
const MAX_NUM:int = 18;               const MAX_NUM:int = 18;

const COLOR:uint = 0xCCCCCC;          const COLOR:uint = 0xCCCCCC;

var area:Rectangle;                   // Crear objeto fuera del ciclo
for (var i:int = 0; i < MAX_NUM; i+   var area:Rectangle = new
+)                                    Rectangle(0,0,1,10);
{                                     for (var i:int = 0; i < MAX_NUM; i++)
    // No hacer esto                  {
    area = new Rectangle(i,0,1,10);   area.x = i;

myBitmapData.fillRect(area,COLOR);    myBitmapData.fillRect(area,COLOR);
}                                     }
Uso de Bitmaps
  Downsalmpling (auto) &
BitmapData single reference
Filtros
Hay que tratar de evitar el uso
 de filtros debido a que crean
dos bitmaps en memoria, en su
 defecto usar efectos creados
  con herramientas externas.
Minimizar gasto de CPU
Sin lugar a dudas un área importante dentro de la
optimización es el uso de CPU de nuestras
aplicaciones.
Optimizar el uso del procesamiento del CPU mejora
el rendimiento y como resultado la vida de la batería
en dispositivos móviles.
Tener cuidado que elementos como audio, video,
webcam y otras opciones hacen uso intensivo del
procesador.
Freezing & Unfreezing
Freezing & Unfreezing Loader
var loader:Loader = new Loader();   var loader:Loader = new Loader();
loader.load ( new URLRequest        loader.load ( new URLRequest
( "content.swf" ) );                ( "content.swf" ) );
addChild ( loader );                addChild ( loader );
stage.addEventListener              stage.addEventListener
( MouseEvent.CLICK, unloadSWF );    ( MouseEvent.CLICK, unloadSWF );
function unloadSWF                  function unloadSWF
( e:MouseEvent ):void               ( e:MouseEvent ):void
{                                   {
    loader.unload();                     loader.unloadAndStop();
}                                   }
Timers vs ENTER_FRAME




Vamos a preferir Timers vs ENTER_FRAME para
contenido no animado que se ejecuta por un largo
tiempo.
Mejorar el Rendering
Estos son algunos tips para mejorar la fase de
Rendering dentro de nuestras aplicaciones Flash:
   •   Reducir cantidad de curvas en los vectores.
   •   Evitar el uso de máscaras.
   •   Limpiar contornos
   •   Usar anti-alias para animación
   •   Convertir arte complejo en bitmaps o en su
       defecto usar cacheAsBitmap()
¿Preguntas?
Optimización de Contenido
    Flash para Móviles
         @edgarparada

Más contenido relacionado

Similar a Optimización de Contenido Flash para Móviles

Creando controles para Xamarin.Forms
Creando controles para Xamarin.FormsCreando controles para Xamarin.Forms
Creando controles para Xamarin.FormsJavier Suárez Ruiz
 
Commit 2018 - Integrando Microservicios y Machine Learning
Commit 2018 - Integrando Microservicios y Machine LearningCommit 2018 - Integrando Microservicios y Machine Learning
Commit 2018 - Integrando Microservicios y Machine LearningRafa Hidalgo
 
Herramientas Y Programas Utiles
Herramientas Y Programas UtilesHerramientas Y Programas Utiles
Herramientas Y Programas UtilesJairo Gatjens
 
Trabajo Practico : Instituto superior de profesorado nº 3- Alejandro Zapata
Trabajo Practico : Instituto superior de profesorado nº 3- Alejandro Zapata Trabajo Practico : Instituto superior de profesorado nº 3- Alejandro Zapata
Trabajo Practico : Instituto superior de profesorado nº 3- Alejandro Zapata Alejandro Zapata
 
Construyendo modelos para dispositivos edge tpu dev fest galicia
Construyendo modelos para dispositivos edge tpu   dev fest galiciaConstruyendo modelos para dispositivos edge tpu   dev fest galicia
Construyendo modelos para dispositivos edge tpu dev fest galiciaMoisés Martínez
 
Jsf Java Server Faces
Jsf   Java Server FacesJsf   Java Server Faces
Jsf Java Server Facescok12v
 
UDA-Componentes RUP. Hora
UDA-Componentes RUP. HoraUDA-Componentes RUP. Hora
UDA-Componentes RUP. HoraAnder Martinez
 
UDA-Componentes RUP. Hora (v2.1.0 deprecado)
UDA-Componentes RUP. Hora  (v2.1.0 deprecado)UDA-Componentes RUP. Hora  (v2.1.0 deprecado)
UDA-Componentes RUP. Hora (v2.1.0 deprecado)Ander Martinez
 
Desarrollo de Aplicaciones Metro en Windows 8
Desarrollo de Aplicaciones Metro en Windows 8Desarrollo de Aplicaciones Metro en Windows 8
Desarrollo de Aplicaciones Metro en Windows 8Rodolfo Finochietti
 
The wpo academy_clinic_seo
The wpo academy_clinic_seoThe wpo academy_clinic_seo
The wpo academy_clinic_seoDigital Growth
 
Actividad no18 2do_parcial
Actividad no18 2do_parcialActividad no18 2do_parcial
Actividad no18 2do_parcialCarlos Mendoza
 
PPT SESION 11.pdf
PPT SESION 11.pdfPPT SESION 11.pdf
PPT SESION 11.pdfNinaLagos1
 

Similar a Optimización de Contenido Flash para Móviles (20)

Creando controles para Xamarin.Forms
Creando controles para Xamarin.FormsCreando controles para Xamarin.Forms
Creando controles para Xamarin.Forms
 
Estimación temprana de proyectos software #pmot #pmlat @iprocuratio
Estimación temprana de proyectos software #pmot #pmlat @iprocuratioEstimación temprana de proyectos software #pmot #pmlat @iprocuratio
Estimación temprana de proyectos software #pmot #pmlat @iprocuratio
 
Commit 2018 - Integrando Microservicios y Machine Learning
Commit 2018 - Integrando Microservicios y Machine LearningCommit 2018 - Integrando Microservicios y Machine Learning
Commit 2018 - Integrando Microservicios y Machine Learning
 
EC2 Cómputo en la nube a profundidad
EC2 Cómputo en la nube a profundidad EC2 Cómputo en la nube a profundidad
EC2 Cómputo en la nube a profundidad
 
Herramientas Y Programas Utiles
Herramientas Y Programas UtilesHerramientas Y Programas Utiles
Herramientas Y Programas Utiles
 
Programas de simulacion
Programas de simulacionProgramas de simulacion
Programas de simulacion
 
Trabajo Practico : Instituto superior de profesorado nº 3- Alejandro Zapata
Trabajo Practico : Instituto superior de profesorado nº 3- Alejandro Zapata Trabajo Practico : Instituto superior de profesorado nº 3- Alejandro Zapata
Trabajo Practico : Instituto superior de profesorado nº 3- Alejandro Zapata
 
Construyendo modelos para dispositivos edge tpu dev fest galicia
Construyendo modelos para dispositivos edge tpu   dev fest galiciaConstruyendo modelos para dispositivos edge tpu   dev fest galicia
Construyendo modelos para dispositivos edge tpu dev fest galicia
 
Iswmovil
IswmovilIswmovil
Iswmovil
 
Jsf Java Server Faces
Jsf   Java Server FacesJsf   Java Server Faces
Jsf Java Server Faces
 
UDA-Componentes RUP. Hora
UDA-Componentes RUP. HoraUDA-Componentes RUP. Hora
UDA-Componentes RUP. Hora
 
UDA-Componentes RUP. Hora (v2.1.0 deprecado)
UDA-Componentes RUP. Hora  (v2.1.0 deprecado)UDA-Componentes RUP. Hora  (v2.1.0 deprecado)
UDA-Componentes RUP. Hora (v2.1.0 deprecado)
 
Bootcamp Javascript Online
Bootcamp Javascript OnlineBootcamp Javascript Online
Bootcamp Javascript Online
 
Desarrollo de Aplicaciones Metro en Windows 8
Desarrollo de Aplicaciones Metro en Windows 8Desarrollo de Aplicaciones Metro en Windows 8
Desarrollo de Aplicaciones Metro en Windows 8
 
Proyecto de Grado
Proyecto de GradoProyecto de Grado
Proyecto de Grado
 
The wpo academy_clinic_seo
The wpo academy_clinic_seoThe wpo academy_clinic_seo
The wpo academy_clinic_seo
 
Simuladores
SimuladoresSimuladores
Simuladores
 
Actividad no18 2do_parcial
Actividad no18 2do_parcialActividad no18 2do_parcial
Actividad no18 2do_parcial
 
PPT SESION 11.pdf
PPT SESION 11.pdfPPT SESION 11.pdf
PPT SESION 11.pdf
 
CvTrafficCounter
CvTrafficCounterCvTrafficCounter
CvTrafficCounter
 

Más de Edgar Parada

Ciberseguridad, Fundamental para la Transformación Digital
Ciberseguridad, Fundamental para la Transformación DigitalCiberseguridad, Fundamental para la Transformación Digital
Ciberseguridad, Fundamental para la Transformación DigitalEdgar Parada
 
Everything you need to know about HTML5 in 15 min
Everything you need to know about HTML5 in 15 minEverything you need to know about HTML5 in 15 min
Everything you need to know about HTML5 in 15 minEdgar Parada
 
Presentación Adobe AIR para PlayBook - Reto BlackBerry
Presentación Adobe AIR para PlayBook - Reto BlackBerryPresentación Adobe AIR para PlayBook - Reto BlackBerry
Presentación Adobe AIR para PlayBook - Reto BlackBerryEdgar Parada
 
Tips para Mejorar tu Estrategia Online
Tips para Mejorar tu Estrategia OnlineTips para Mejorar tu Estrategia Online
Tips para Mejorar tu Estrategia OnlineEdgar Parada
 
Contenido web en múltiples pantallas
Contenido web en múltiples pantallasContenido web en múltiples pantallas
Contenido web en múltiples pantallasEdgar Parada
 
Desarrollo para iPhone con Flash
Desarrollo para iPhone con FlashDesarrollo para iPhone con Flash
Desarrollo para iPhone con FlashEdgar Parada
 
CSS con Dreamweaver CS5
CSS con Dreamweaver CS5CSS con Dreamweaver CS5
CSS con Dreamweaver CS5Edgar Parada
 
Google Analytics con Flash
Google Analytics con FlashGoogle Analytics con Flash
Google Analytics con FlashEdgar Parada
 
Flash Catalyst en Campus Party
Flash Catalyst en Campus PartyFlash Catalyst en Campus Party
Flash Catalyst en Campus PartyEdgar Parada
 
Flex en Cafe de Altura
Flex en Cafe de AlturaFlex en Cafe de Altura
Flex en Cafe de AlturaEdgar Parada
 
SG09 Ux Flash Catalyst
SG09 Ux Flash CatalystSG09 Ux Flash Catalyst
SG09 Ux Flash CatalystEdgar Parada
 

Más de Edgar Parada (14)

Ciberseguridad, Fundamental para la Transformación Digital
Ciberseguridad, Fundamental para la Transformación DigitalCiberseguridad, Fundamental para la Transformación Digital
Ciberseguridad, Fundamental para la Transformación Digital
 
Everything you need to know about HTML5 in 15 min
Everything you need to know about HTML5 in 15 minEverything you need to know about HTML5 in 15 min
Everything you need to know about HTML5 in 15 min
 
Presentación Adobe AIR para PlayBook - Reto BlackBerry
Presentación Adobe AIR para PlayBook - Reto BlackBerryPresentación Adobe AIR para PlayBook - Reto BlackBerry
Presentación Adobe AIR para PlayBook - Reto BlackBerry
 
Tips para Mejorar tu Estrategia Online
Tips para Mejorar tu Estrategia OnlineTips para Mejorar tu Estrategia Online
Tips para Mejorar tu Estrategia Online
 
Contenido web en múltiples pantallas
Contenido web en múltiples pantallasContenido web en múltiples pantallas
Contenido web en múltiples pantallas
 
Desarrollo para iPhone con Flash
Desarrollo para iPhone con FlashDesarrollo para iPhone con Flash
Desarrollo para iPhone con Flash
 
CSS con Dreamweaver CS5
CSS con Dreamweaver CS5CSS con Dreamweaver CS5
CSS con Dreamweaver CS5
 
Google Analytics con Flash
Google Analytics con FlashGoogle Analytics con Flash
Google Analytics con Flash
 
Flash y Seo
Flash y SeoFlash y Seo
Flash y Seo
 
Flash Catalyst en Campus Party
Flash Catalyst en Campus PartyFlash Catalyst en Campus Party
Flash Catalyst en Campus Party
 
Usabilidad
UsabilidadUsabilidad
Usabilidad
 
Flex 101
Flex 101Flex 101
Flex 101
 
Flex en Cafe de Altura
Flex en Cafe de AlturaFlex en Cafe de Altura
Flex en Cafe de Altura
 
SG09 Ux Flash Catalyst
SG09 Ux Flash CatalystSG09 Ux Flash Catalyst
SG09 Ux Flash Catalyst
 

Último

CLASE DE TECNOLOGIA E INFORMATICA PRIMARIA
CLASE  DE TECNOLOGIA E INFORMATICA PRIMARIACLASE  DE TECNOLOGIA E INFORMATICA PRIMARIA
CLASE DE TECNOLOGIA E INFORMATICA PRIMARIAWilbisVega
 
Global Azure Lima 2024 - Integración de Datos con Microsoft Fabric
Global Azure Lima 2024 - Integración de Datos con Microsoft FabricGlobal Azure Lima 2024 - Integración de Datos con Microsoft Fabric
Global Azure Lima 2024 - Integración de Datos con Microsoft FabricKeyla Dolores Méndez
 
Medidas de formas, coeficiente de asimetría y coeficiente de curtosis.pptx
Medidas de formas, coeficiente de asimetría y coeficiente de curtosis.pptxMedidas de formas, coeficiente de asimetría y coeficiente de curtosis.pptx
Medidas de formas, coeficiente de asimetría y coeficiente de curtosis.pptxaylincamaho
 
PARTES DE UN OSCILOSCOPIO ANALOGICO .pdf
PARTES DE UN OSCILOSCOPIO ANALOGICO .pdfPARTES DE UN OSCILOSCOPIO ANALOGICO .pdf
PARTES DE UN OSCILOSCOPIO ANALOGICO .pdfSergioMendoza354770
 
guía de registro de slideshare por Brayan Joseph
guía de registro de slideshare por Brayan Josephguía de registro de slideshare por Brayan Joseph
guía de registro de slideshare por Brayan JosephBRAYANJOSEPHPEREZGOM
 
La era de la educación digital y sus desafios
La era de la educación digital y sus desafiosLa era de la educación digital y sus desafios
La era de la educación digital y sus desafiosFundación YOD YOD
 
KELA Presentacion Costa Rica 2024 - evento Protégeles
KELA Presentacion Costa Rica 2024 - evento ProtégelesKELA Presentacion Costa Rica 2024 - evento Protégeles
KELA Presentacion Costa Rica 2024 - evento ProtégelesFundación YOD YOD
 
Plan de aula informatica segundo periodo.docx
Plan de aula informatica segundo periodo.docxPlan de aula informatica segundo periodo.docx
Plan de aula informatica segundo periodo.docxpabonheidy28
 
Instrumentación Hoy_ INTERPRETAR EL DIAGRAMA UNIFILAR GENERAL DE UNA PLANTA I...
Instrumentación Hoy_ INTERPRETAR EL DIAGRAMA UNIFILAR GENERAL DE UNA PLANTA I...Instrumentación Hoy_ INTERPRETAR EL DIAGRAMA UNIFILAR GENERAL DE UNA PLANTA I...
Instrumentación Hoy_ INTERPRETAR EL DIAGRAMA UNIFILAR GENERAL DE UNA PLANTA I...AlanCedillo9
 
ejercicios pseint para aprogramacion sof
ejercicios pseint para aprogramacion sofejercicios pseint para aprogramacion sof
ejercicios pseint para aprogramacion sofJuancarlosHuertasNio1
 
Proyecto integrador. Las TIC en la sociedad S4.pptx
Proyecto integrador. Las TIC en la sociedad S4.pptxProyecto integrador. Las TIC en la sociedad S4.pptx
Proyecto integrador. Las TIC en la sociedad S4.pptx241521559
 
Presentación inteligencia artificial en la actualidad
Presentación inteligencia artificial en la actualidadPresentación inteligencia artificial en la actualidad
Presentación inteligencia artificial en la actualidadMiguelAngelVillanuev48
 
trabajotecologiaisabella-240424003133-8f126965.pdf
trabajotecologiaisabella-240424003133-8f126965.pdftrabajotecologiaisabella-240424003133-8f126965.pdf
trabajotecologiaisabella-240424003133-8f126965.pdfIsabellaMontaomurill
 
Cortes-24-de-abril-Tungurahua-3 año 2024
Cortes-24-de-abril-Tungurahua-3 año 2024Cortes-24-de-abril-Tungurahua-3 año 2024
Cortes-24-de-abril-Tungurahua-3 año 2024GiovanniJavierHidalg
 
El gusano informático Morris (1988) - Julio Ardita (1995) - Citizenfour (2014...
El gusano informático Morris (1988) - Julio Ardita (1995) - Citizenfour (2014...El gusano informático Morris (1988) - Julio Ardita (1995) - Citizenfour (2014...
El gusano informático Morris (1988) - Julio Ardita (1995) - Citizenfour (2014...JaquelineJuarez15
 
Hernandez_Hernandez_Practica web de la sesion 12.pptx
Hernandez_Hernandez_Practica web de la sesion 12.pptxHernandez_Hernandez_Practica web de la sesion 12.pptx
Hernandez_Hernandez_Practica web de la sesion 12.pptxJOSEMANUELHERNANDEZH11
 
International Women's Day Sucre 2024 (IWD)
International Women's Day Sucre 2024 (IWD)International Women's Day Sucre 2024 (IWD)
International Women's Day Sucre 2024 (IWD)GDGSucre
 
SalmorejoTech 2024 - Spring Boot <3 Testcontainers
SalmorejoTech 2024 - Spring Boot <3 TestcontainersSalmorejoTech 2024 - Spring Boot <3 Testcontainers
SalmorejoTech 2024 - Spring Boot <3 TestcontainersIván López Martín
 
ATAJOS DE WINDOWS. Los diferentes atajos para utilizar en windows y ser más e...
ATAJOS DE WINDOWS. Los diferentes atajos para utilizar en windows y ser más e...ATAJOS DE WINDOWS. Los diferentes atajos para utilizar en windows y ser más e...
ATAJOS DE WINDOWS. Los diferentes atajos para utilizar en windows y ser más e...FacuMeza2
 
Redes direccionamiento y subredes ipv4 2024 .pdf
Redes direccionamiento y subredes ipv4 2024 .pdfRedes direccionamiento y subredes ipv4 2024 .pdf
Redes direccionamiento y subredes ipv4 2024 .pdfsoporteupcology
 

Último (20)

CLASE DE TECNOLOGIA E INFORMATICA PRIMARIA
CLASE  DE TECNOLOGIA E INFORMATICA PRIMARIACLASE  DE TECNOLOGIA E INFORMATICA PRIMARIA
CLASE DE TECNOLOGIA E INFORMATICA PRIMARIA
 
Global Azure Lima 2024 - Integración de Datos con Microsoft Fabric
Global Azure Lima 2024 - Integración de Datos con Microsoft FabricGlobal Azure Lima 2024 - Integración de Datos con Microsoft Fabric
Global Azure Lima 2024 - Integración de Datos con Microsoft Fabric
 
Medidas de formas, coeficiente de asimetría y coeficiente de curtosis.pptx
Medidas de formas, coeficiente de asimetría y coeficiente de curtosis.pptxMedidas de formas, coeficiente de asimetría y coeficiente de curtosis.pptx
Medidas de formas, coeficiente de asimetría y coeficiente de curtosis.pptx
 
PARTES DE UN OSCILOSCOPIO ANALOGICO .pdf
PARTES DE UN OSCILOSCOPIO ANALOGICO .pdfPARTES DE UN OSCILOSCOPIO ANALOGICO .pdf
PARTES DE UN OSCILOSCOPIO ANALOGICO .pdf
 
guía de registro de slideshare por Brayan Joseph
guía de registro de slideshare por Brayan Josephguía de registro de slideshare por Brayan Joseph
guía de registro de slideshare por Brayan Joseph
 
La era de la educación digital y sus desafios
La era de la educación digital y sus desafiosLa era de la educación digital y sus desafios
La era de la educación digital y sus desafios
 
KELA Presentacion Costa Rica 2024 - evento Protégeles
KELA Presentacion Costa Rica 2024 - evento ProtégelesKELA Presentacion Costa Rica 2024 - evento Protégeles
KELA Presentacion Costa Rica 2024 - evento Protégeles
 
Plan de aula informatica segundo periodo.docx
Plan de aula informatica segundo periodo.docxPlan de aula informatica segundo periodo.docx
Plan de aula informatica segundo periodo.docx
 
Instrumentación Hoy_ INTERPRETAR EL DIAGRAMA UNIFILAR GENERAL DE UNA PLANTA I...
Instrumentación Hoy_ INTERPRETAR EL DIAGRAMA UNIFILAR GENERAL DE UNA PLANTA I...Instrumentación Hoy_ INTERPRETAR EL DIAGRAMA UNIFILAR GENERAL DE UNA PLANTA I...
Instrumentación Hoy_ INTERPRETAR EL DIAGRAMA UNIFILAR GENERAL DE UNA PLANTA I...
 
ejercicios pseint para aprogramacion sof
ejercicios pseint para aprogramacion sofejercicios pseint para aprogramacion sof
ejercicios pseint para aprogramacion sof
 
Proyecto integrador. Las TIC en la sociedad S4.pptx
Proyecto integrador. Las TIC en la sociedad S4.pptxProyecto integrador. Las TIC en la sociedad S4.pptx
Proyecto integrador. Las TIC en la sociedad S4.pptx
 
Presentación inteligencia artificial en la actualidad
Presentación inteligencia artificial en la actualidadPresentación inteligencia artificial en la actualidad
Presentación inteligencia artificial en la actualidad
 
trabajotecologiaisabella-240424003133-8f126965.pdf
trabajotecologiaisabella-240424003133-8f126965.pdftrabajotecologiaisabella-240424003133-8f126965.pdf
trabajotecologiaisabella-240424003133-8f126965.pdf
 
Cortes-24-de-abril-Tungurahua-3 año 2024
Cortes-24-de-abril-Tungurahua-3 año 2024Cortes-24-de-abril-Tungurahua-3 año 2024
Cortes-24-de-abril-Tungurahua-3 año 2024
 
El gusano informático Morris (1988) - Julio Ardita (1995) - Citizenfour (2014...
El gusano informático Morris (1988) - Julio Ardita (1995) - Citizenfour (2014...El gusano informático Morris (1988) - Julio Ardita (1995) - Citizenfour (2014...
El gusano informático Morris (1988) - Julio Ardita (1995) - Citizenfour (2014...
 
Hernandez_Hernandez_Practica web de la sesion 12.pptx
Hernandez_Hernandez_Practica web de la sesion 12.pptxHernandez_Hernandez_Practica web de la sesion 12.pptx
Hernandez_Hernandez_Practica web de la sesion 12.pptx
 
International Women's Day Sucre 2024 (IWD)
International Women's Day Sucre 2024 (IWD)International Women's Day Sucre 2024 (IWD)
International Women's Day Sucre 2024 (IWD)
 
SalmorejoTech 2024 - Spring Boot <3 Testcontainers
SalmorejoTech 2024 - Spring Boot <3 TestcontainersSalmorejoTech 2024 - Spring Boot <3 Testcontainers
SalmorejoTech 2024 - Spring Boot <3 Testcontainers
 
ATAJOS DE WINDOWS. Los diferentes atajos para utilizar en windows y ser más e...
ATAJOS DE WINDOWS. Los diferentes atajos para utilizar en windows y ser más e...ATAJOS DE WINDOWS. Los diferentes atajos para utilizar en windows y ser más e...
ATAJOS DE WINDOWS. Los diferentes atajos para utilizar en windows y ser más e...
 
Redes direccionamiento y subredes ipv4 2024 .pdf
Redes direccionamiento y subredes ipv4 2024 .pdfRedes direccionamiento y subredes ipv4 2024 .pdf
Redes direccionamiento y subredes ipv4 2024 .pdf
 

Optimización de Contenido Flash para Móviles

  • 1. Optimización de Contenido Flash para Móviles @edgarparada
  • 2. Agenda • Introducción a la Optimización • Uso de Memoria • Minimizar gasto de CPU • Mejorar velocidad de Rendering • ¿Preguntas?
  • 3. Optimización La optimización de nuestros contenidos Flash es un factor muy importante para lograr una reproducción más consistente, mejora la responsividad (usabilidad*), tendremos más poder del CPU disponible, etc.
  • 4. Optimización La optimización de nuestros contenidos Flash es un factor muy importante para lograr una reproducción más consistente, mejora la responsividad (usabilidad*), tendremos más poder del CPU disponible, etc.
  • 5. ¿Cómo funciona FP? El runtime opera en un ciclo con ciertas instrucciones que ocurren en cada “frame”. Un frame es un simple bloque de tiempo determinado por los FPS. Cada frame tiene 2 fases, divididas en 3 partes: eventos, enterFrame y rendering.
  • 6. Ejecución de Código • Fase 1 - Eventos y enterFrame Los eventos de FP llegan y se notifican, el evento enterFrame siempre se ejecuta una vez por frame. ”Elastic Racetrack” • Fase 2 - Rendering 50% 50% FP calcula el estado de todos los elementos visuales y los dibuja (renderea) en pantalla. Fase 1 Fase 2
  • 7. Benchmarking • Siempre que hacemos optimización es muy importante poder medir los resultados. Existen 2 tipo de benchmarking: • Cuantitativo (medible) - Depende de ciertas herramientas • Cualitativo (persepción) - Depende del contexto
  • 9. Medir Tiempo Transcurrido El tiempo transucrrido puede llegar a medirse con una función sencilla: tiempo = getTimer(); // todo lo que vamos a medir tiempoTranscurrido = getTimer() - tiempo;
  • 10. PerformanceTest.as Es una librería creada por Grant Skinner (http:// gskinner.com/libraries/) para probar desde funciones en una línea de tiempo hasta generar todo una serie de pruebas de desempeño durante el desarrollo. //Prueba de una función perfTest.testFuncion(function, iterations);
  • 11. Medir Frame Rate Performance Monitor https://github.com/mrdoob/Hi-ReS-Stats Es una clase que provee información para monitorear el desempeño de nuestro código ActionScript. • FPS Cuantos cuadros fueron renderizados en 1 segundo. • MS Milisegundos que se necesitaron para renderizar un cuadro. • MEM Memoria usada por el código, si aumenta esta MAL. • MAX Cantidad Máxima de memoria alcanzada por la aplicación.
  • 12. Flash Builder Profiler Es una vista que nos permite analizar “en vivo” la aplicación. Existe la posibilidad de tomar snapshots de memoria y monitorear funciones del GC.
  • 14. UX influencia nuestra tolerancia Desempeño Hay diferentes factores que pueden afectar la persepción de los usuarios: acciones, alertas, distractores, precargas, etc.
  • 15. Frame Rate Un framerate más alto implica realizar más operaciones por segundo o menos tiempo para realizar dichas operaciones según quiera verse ;-) Es un valor dinámico dentro de Flash... • Flash IDE - Properties / FPS • ActionScript 3 - [SWF(frameRate=“24”)] • Flex - <s:Application frameRate="24">
  • 16. Uso de Memoria Tratar de conservar la memoria de nuestras aplicaciones siempre es importante durante el desarrollo, en el caso de los móviles debe considerarse una prioridad. Existen diversas técnicas que se verán afectadas por el uso de Display objects, reutilización de objetos, optimización de bitmaps, manejo adecuado de filtros, etc.
  • 17. Display Objects trace(getSize(new Shape())); // output: 236 trace(getSize(new Sprite())); // output: 416 trace(getSize(new MovieClip())); // output: 452
  • 18. Reutilización de Objetos const MAX_NUM:int = 18; const MAX_NUM:int = 18; const COLOR:uint = 0xCCCCCC; const COLOR:uint = 0xCCCCCC; var area:Rectangle; // Crear objeto fuera del ciclo for (var i:int = 0; i < MAX_NUM; i+ var area:Rectangle = new +) Rectangle(0,0,1,10); { for (var i:int = 0; i < MAX_NUM; i++) // No hacer esto { area = new Rectangle(i,0,1,10); area.x = i; myBitmapData.fillRect(area,COLOR); myBitmapData.fillRect(area,COLOR); } }
  • 19. Uso de Bitmaps Downsalmpling (auto) & BitmapData single reference
  • 20. Filtros Hay que tratar de evitar el uso de filtros debido a que crean dos bitmaps en memoria, en su defecto usar efectos creados con herramientas externas.
  • 21. Minimizar gasto de CPU Sin lugar a dudas un área importante dentro de la optimización es el uso de CPU de nuestras aplicaciones. Optimizar el uso del procesamiento del CPU mejora el rendimiento y como resultado la vida de la batería en dispositivos móviles. Tener cuidado que elementos como audio, video, webcam y otras opciones hacen uso intensivo del procesador.
  • 23. Freezing & Unfreezing Loader var loader:Loader = new Loader(); var loader:Loader = new Loader(); loader.load ( new URLRequest loader.load ( new URLRequest ( "content.swf" ) ); ( "content.swf" ) ); addChild ( loader ); addChild ( loader ); stage.addEventListener stage.addEventListener ( MouseEvent.CLICK, unloadSWF ); ( MouseEvent.CLICK, unloadSWF ); function unloadSWF function unloadSWF ( e:MouseEvent ):void ( e:MouseEvent ):void { { loader.unload(); loader.unloadAndStop(); } }
  • 24. Timers vs ENTER_FRAME Vamos a preferir Timers vs ENTER_FRAME para contenido no animado que se ejecuta por un largo tiempo.
  • 25. Mejorar el Rendering Estos son algunos tips para mejorar la fase de Rendering dentro de nuestras aplicaciones Flash: • Reducir cantidad de curvas en los vectores. • Evitar el uso de máscaras. • Limpiar contornos • Usar anti-alias para animación • Convertir arte complejo en bitmaps o en su defecto usar cacheAsBitmap()
  • 26. ¿Preguntas? Optimización de Contenido Flash para Móviles @edgarparada

Notas del editor

  1. \n
  2. \n
  3. \n
  4. \n
  5. \n
  6. \n
  7. \n
  8. \n
  9. \n
  10. \n
  11. \n
  12. \n
  13. \n
  14. \n
  15. \n
  16. \n
  17. \n
  18. \n
  19. \n
  20. \n
  21. \n
  22. \n
  23. \n
  24. \n
  25. \n