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

LAS_TIC_COMO_HERRAMIENTAS_EN_LA_INVESTIGACIÓN.pptx
LAS_TIC_COMO_HERRAMIENTAS_EN_LA_INVESTIGACIÓN.pptxLAS_TIC_COMO_HERRAMIENTAS_EN_LA_INVESTIGACIÓN.pptx
LAS_TIC_COMO_HERRAMIENTAS_EN_LA_INVESTIGACIÓN.pptxAlexander López
 
Guía de Registro slideshare paso a paso 1
Guía de Registro slideshare paso a paso 1Guía de Registro slideshare paso a paso 1
Guía de Registro slideshare paso a paso 1ivanapaterninar
 
GonzalezGonzalez_Karina_M1S3AI6... .pptx
GonzalezGonzalez_Karina_M1S3AI6... .pptxGonzalezGonzalez_Karina_M1S3AI6... .pptx
GonzalezGonzalez_Karina_M1S3AI6... .pptx241523733
 
La Electricidad Y La Electrónica Trabajo Tecnología.pdf
La Electricidad Y La Electrónica Trabajo Tecnología.pdfLa Electricidad Y La Electrónica Trabajo Tecnología.pdf
La Electricidad Y La Electrónica Trabajo Tecnología.pdfjeondanny1997
 
Modelo de Presentacion Feria Robotica Educativa 2024 - Versión3.pptx
Modelo de Presentacion Feria Robotica Educativa 2024 - Versión3.pptxModelo de Presentacion Feria Robotica Educativa 2024 - Versión3.pptx
Modelo de Presentacion Feria Robotica Educativa 2024 - Versión3.pptxtjcesar1
 
LUXOMETRO EN SALUD OCUPACIONAL(FINAL).ppt
LUXOMETRO EN SALUD OCUPACIONAL(FINAL).pptLUXOMETRO EN SALUD OCUPACIONAL(FINAL).ppt
LUXOMETRO EN SALUD OCUPACIONAL(FINAL).pptchaverriemily794
 
Trabajo de tecnología excel avanzado.pdf
Trabajo de tecnología excel avanzado.pdfTrabajo de tecnología excel avanzado.pdf
Trabajo de tecnología excel avanzado.pdfedepmariaperez
 
CommitConf 2024 - Spring Boot <3 Testcontainers
CommitConf 2024 - Spring Boot <3 TestcontainersCommitConf 2024 - Spring Boot <3 Testcontainers
CommitConf 2024 - Spring Boot <3 TestcontainersIván López Martín
 
Red Dorsal Nacional de Fibra Óptica y Redes Regionales del Perú
Red Dorsal Nacional de Fibra Óptica y Redes Regionales del PerúRed Dorsal Nacional de Fibra Óptica y Redes Regionales del Perú
Red Dorsal Nacional de Fibra Óptica y Redes Regionales del PerúCEFERINO DELGADO FLORES
 
certificado de oracle academy cetrificado.pdf
certificado de oracle academy cetrificado.pdfcertificado de oracle academy cetrificado.pdf
certificado de oracle academy cetrificado.pdfFernandoOblitasVivan
 
FloresMorales_Montserrath_M1S3AI6 (1).pptx
FloresMorales_Montserrath_M1S3AI6 (1).pptxFloresMorales_Montserrath_M1S3AI6 (1).pptx
FloresMorales_Montserrath_M1S3AI6 (1).pptx241522327
 
Actividad integradora 6 CREAR UN RECURSO MULTIMEDIA
Actividad integradora 6    CREAR UN RECURSO MULTIMEDIAActividad integradora 6    CREAR UN RECURSO MULTIMEDIA
Actividad integradora 6 CREAR UN RECURSO MULTIMEDIA241531640
 
El_Blog_como_herramienta_de_publicacion_y_consulta_de_investigacion.pptx
El_Blog_como_herramienta_de_publicacion_y_consulta_de_investigacion.pptxEl_Blog_como_herramienta_de_publicacion_y_consulta_de_investigacion.pptx
El_Blog_como_herramienta_de_publicacion_y_consulta_de_investigacion.pptxAlexander López
 
AREA TECNOLOGIA E INFORMATICA TRABAJO EN EQUIPO
AREA TECNOLOGIA E INFORMATICA TRABAJO EN EQUIPOAREA TECNOLOGIA E INFORMATICA TRABAJO EN EQUIPO
AREA TECNOLOGIA E INFORMATICA TRABAJO EN EQUIPOnarvaezisabella21
 
tarea de exposicion de senati zzzzzzzzzz
tarea de exposicion de senati zzzzzzzzzztarea de exposicion de senati zzzzzzzzzz
tarea de exposicion de senati zzzzzzzzzzAlexandergo5
 
Los Microcontroladores PIC, Aplicaciones
Los Microcontroladores PIC, AplicacionesLos Microcontroladores PIC, Aplicaciones
Los Microcontroladores PIC, AplicacionesEdomar AR
 
Presentación sobre la Inteligencia Artificial
Presentación sobre la Inteligencia ArtificialPresentación sobre la Inteligencia Artificial
Presentación sobre la Inteligencia Artificialcynserafini89
 
TALLER DE ANALISIS SOLUCION PART 2 (1)-1.docx
TALLER DE ANALISIS SOLUCION  PART 2 (1)-1.docxTALLER DE ANALISIS SOLUCION  PART 2 (1)-1.docx
TALLER DE ANALISIS SOLUCION PART 2 (1)-1.docxobandopaula444
 
Documentacion Electrónica en Actos Juridicos
Documentacion Electrónica en Actos JuridicosDocumentacion Electrónica en Actos Juridicos
Documentacion Electrónica en Actos JuridicosAlbanyMartinez7
 
Tecnologias Starlink para el mundo tec.pptx
Tecnologias Starlink para el mundo tec.pptxTecnologias Starlink para el mundo tec.pptx
Tecnologias Starlink para el mundo tec.pptxGESTECPERUSAC
 

Último (20)

LAS_TIC_COMO_HERRAMIENTAS_EN_LA_INVESTIGACIÓN.pptx
LAS_TIC_COMO_HERRAMIENTAS_EN_LA_INVESTIGACIÓN.pptxLAS_TIC_COMO_HERRAMIENTAS_EN_LA_INVESTIGACIÓN.pptx
LAS_TIC_COMO_HERRAMIENTAS_EN_LA_INVESTIGACIÓN.pptx
 
Guía de Registro slideshare paso a paso 1
Guía de Registro slideshare paso a paso 1Guía de Registro slideshare paso a paso 1
Guía de Registro slideshare paso a paso 1
 
GonzalezGonzalez_Karina_M1S3AI6... .pptx
GonzalezGonzalez_Karina_M1S3AI6... .pptxGonzalezGonzalez_Karina_M1S3AI6... .pptx
GonzalezGonzalez_Karina_M1S3AI6... .pptx
 
La Electricidad Y La Electrónica Trabajo Tecnología.pdf
La Electricidad Y La Electrónica Trabajo Tecnología.pdfLa Electricidad Y La Electrónica Trabajo Tecnología.pdf
La Electricidad Y La Electrónica Trabajo Tecnología.pdf
 
Modelo de Presentacion Feria Robotica Educativa 2024 - Versión3.pptx
Modelo de Presentacion Feria Robotica Educativa 2024 - Versión3.pptxModelo de Presentacion Feria Robotica Educativa 2024 - Versión3.pptx
Modelo de Presentacion Feria Robotica Educativa 2024 - Versión3.pptx
 
LUXOMETRO EN SALUD OCUPACIONAL(FINAL).ppt
LUXOMETRO EN SALUD OCUPACIONAL(FINAL).pptLUXOMETRO EN SALUD OCUPACIONAL(FINAL).ppt
LUXOMETRO EN SALUD OCUPACIONAL(FINAL).ppt
 
Trabajo de tecnología excel avanzado.pdf
Trabajo de tecnología excel avanzado.pdfTrabajo de tecnología excel avanzado.pdf
Trabajo de tecnología excel avanzado.pdf
 
CommitConf 2024 - Spring Boot <3 Testcontainers
CommitConf 2024 - Spring Boot <3 TestcontainersCommitConf 2024 - Spring Boot <3 Testcontainers
CommitConf 2024 - Spring Boot <3 Testcontainers
 
Red Dorsal Nacional de Fibra Óptica y Redes Regionales del Perú
Red Dorsal Nacional de Fibra Óptica y Redes Regionales del PerúRed Dorsal Nacional de Fibra Óptica y Redes Regionales del Perú
Red Dorsal Nacional de Fibra Óptica y Redes Regionales del Perú
 
certificado de oracle academy cetrificado.pdf
certificado de oracle academy cetrificado.pdfcertificado de oracle academy cetrificado.pdf
certificado de oracle academy cetrificado.pdf
 
FloresMorales_Montserrath_M1S3AI6 (1).pptx
FloresMorales_Montserrath_M1S3AI6 (1).pptxFloresMorales_Montserrath_M1S3AI6 (1).pptx
FloresMorales_Montserrath_M1S3AI6 (1).pptx
 
Actividad integradora 6 CREAR UN RECURSO MULTIMEDIA
Actividad integradora 6    CREAR UN RECURSO MULTIMEDIAActividad integradora 6    CREAR UN RECURSO MULTIMEDIA
Actividad integradora 6 CREAR UN RECURSO MULTIMEDIA
 
El_Blog_como_herramienta_de_publicacion_y_consulta_de_investigacion.pptx
El_Blog_como_herramienta_de_publicacion_y_consulta_de_investigacion.pptxEl_Blog_como_herramienta_de_publicacion_y_consulta_de_investigacion.pptx
El_Blog_como_herramienta_de_publicacion_y_consulta_de_investigacion.pptx
 
AREA TECNOLOGIA E INFORMATICA TRABAJO EN EQUIPO
AREA TECNOLOGIA E INFORMATICA TRABAJO EN EQUIPOAREA TECNOLOGIA E INFORMATICA TRABAJO EN EQUIPO
AREA TECNOLOGIA E INFORMATICA TRABAJO EN EQUIPO
 
tarea de exposicion de senati zzzzzzzzzz
tarea de exposicion de senati zzzzzzzzzztarea de exposicion de senati zzzzzzzzzz
tarea de exposicion de senati zzzzzzzzzz
 
Los Microcontroladores PIC, Aplicaciones
Los Microcontroladores PIC, AplicacionesLos Microcontroladores PIC, Aplicaciones
Los Microcontroladores PIC, Aplicaciones
 
Presentación sobre la Inteligencia Artificial
Presentación sobre la Inteligencia ArtificialPresentación sobre la Inteligencia Artificial
Presentación sobre la Inteligencia Artificial
 
TALLER DE ANALISIS SOLUCION PART 2 (1)-1.docx
TALLER DE ANALISIS SOLUCION  PART 2 (1)-1.docxTALLER DE ANALISIS SOLUCION  PART 2 (1)-1.docx
TALLER DE ANALISIS SOLUCION PART 2 (1)-1.docx
 
Documentacion Electrónica en Actos Juridicos
Documentacion Electrónica en Actos JuridicosDocumentacion Electrónica en Actos Juridicos
Documentacion Electrónica en Actos Juridicos
 
Tecnologias Starlink para el mundo tec.pptx
Tecnologias Starlink para el mundo tec.pptxTecnologias Starlink para el mundo tec.pptx
Tecnologias Starlink para el mundo tec.pptx
 

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