SlideShare a Scribd company logo
1 of 55
Download to read offline
Preparing Data for Performance-Critical Apps in Flash (and HTML)   @vancura — WebExpo 2010




       Preparing Data for
       Performance-Critical
       Apps in Flash (and HTML)
       Václav Vančura
       September 2009




@vancura
Preparing Data for Performance-Critical Apps in Flash (and HTML)   @vancura — WebExpo 2010




       Václav Vančura / FALANXIA
       ● Illustrator who started to code
       ● Currently GUI designer and coder
       ● Developing Facebook games in Falanxia
       ● Tweaking Unity games by night
       ● @vancura, vaclav.vancura.org
Preparing Data for Performance-Critical Apps in Flash (and HTML)   @vancura — WebExpo 2010




              ➊ Data basics
       
      ➋ Advanced data production
       
      ➌ Why to bother to optimize?
       
      ➍ Optimization basics
       
      ➎ Testing & profiling
       
      ➏ Advanced optimization
       
      ➐ Falanxia loves Github



Data basics
Preparing Data for Performance-Critical Apps in Flash (and HTML)   @vancura — WebExpo 2010




                                       Static images




Data basics
Preparing Data for Performance-Critical Apps in Flash (and HTML)   @vancura — WebExpo 2010




       Benefits OF STATIC IMAGES

       ● Easy to create and maintain
       ● A lot of apps
       ● A lot of formats
              But Flash Player internally knows just a few

       ● Established and proven algorithms
              Except recent Internet Explorer PNG exploit




Data basics
Preparing Data for Performance-Critical Apps in Flash (and HTML)                  @vancura — WebExpo 2010




       Disadvantages OF STATIC IMAGES

       ● PNG
              Lossless but large

       ● JPEG
              No transparency but small (and lossy)
              JPEG transparency is our new project

       ● Embedding in AS3
                             [Embed(source="/path/to/asset.png", compression="true", quality="90")]




Data basics
Preparing Data for Performance-Critical Apps in Flash (and HTML)   @vancura — WebExpo 2010




       Marginal or outdated
       file formats
       OF STATIC IMAGES

       ● MNG
              Basically an animated PNG

       ● JPEG2000
              Better (fractal) compression

       ● GIF, BMP, PCX



Data basics
Preparing Data for Performance-Critical Apps in Flash (and HTML)   @vancura — WebExpo 2010




                                       Sprites & MovieClips
                                       IN FLASH




Data basics
Preparing Data for Performance-Critical Apps in Flash (and HTML)   @vancura — WebExpo 2010




       Benefits OF SPRITES & MOVIECLIPS
       ● Easy to create
       ● Rendering speed
       ● Transparency & dynamic blending modes
              Multiply, Screen, Overlay, …

       ● Dynamic effects
              Filters like drop shadow, glow, blur, bevel, …

       ● Vector
              Better scaling


Data basics
Preparing Data for Performance-Critical Apps in Flash (and HTML)   @vancura — WebExpo 2010




       Disadvantages OF SPRITES & MOVIECLIPS
       ● Problematic compilation
              Needs Flash IDE (or Illustrator, kind of)

       ● Difficult to maintain
              Hard to change structure once it’s done

       ● Compiler strips out AS3 code
       ● Vector
              Problems with bitmaps, antialiasing
              Pixel perfection is painful


Data basics
Preparing Data for Performance-Critical Apps in Flash (and HTML)   @vancura — WebExpo 2010




                                       Sound and Music
                                       IN HTML5 & FLASH




Data basics
Preparing Data for Performance-Critical Apps in Flash (and HTML)                     @vancura — WebExpo 2010




       Features OF SOUND IN FLASH
       ● Painless implementation
       ● Selective compression
       ● Dynamic sound
              AS3/FP10

       ● Only 32 sound channels at once
       ● Compilation problems
              Windows (!) Flash IDE is actually a must.
              Haxe is a solution, but is painful to set up.        http://haxe.org


Data basics
Preparing Data for Performance-Critical Apps in Flash (and HTML)   @vancura — WebExpo 2010




       Music

       ● Still only MP3
              OGG Vorbis in Flash (and HTML) is a lot of work
              (mainly because of Alchemy)

       ● Multitracks & sequencers
              Procedural realtime mixing

       ● Trackers
              MOD, S3M, XM, IT etc.
              Unity 3 now has tracker support



Data basics
Preparing Data for Performance-Critical Apps in Flash (and HTML)   @vancura — WebExpo 2010




       CFXR

       ● Awesome tool
         when you need
         retro sounds
              http://thirdcog.eu/apps/cfxr

       ● Sonoport
              http://www.sonoport.com
Preparing Data for Performance-Critical Apps in Flash (and HTML)   @vancura — WebExpo 2010




                                       Video
                                       IN HTML5 & FLASH




Data basics
Preparing Data for Performance-Critical Apps in Flash (and HTML)   @vancura — WebExpo 2010




       Video in HTML5
       ● Speed
              Using GPU

       ● Cross-platform
              Desktop, mobile OS

       ● But too many formats
              WebM, MP4/H.264, OGG Theora
              Flash fallback

       ● Very difficult to encode
       ● No streaming so far

Data basics
Preparing Data for Performance-Critical Apps in Flash (and HTML)          @vancura — WebExpo 2010




       Video in Flash
       ● Formats
              FLV (Sorenson Spark / FLP 6+, ON2 VP6 / FLP 8+), F4V (H.264 / FLP9+)

       ● Painless implementation in Flash
       ● Streaming with Flash Media Server
              Streaming from camera
              And alternatives: Wowza Media Server, Red5

       ● DRM
       ● Transparency via VP6
       ● Encoding via FFmpeg and Adobe Media Encoder
       ● But CPU hog
              Flash Player 10.1 brings some optimizations (~30 %)

Data basics
Preparing Data for Performance-Critical Apps in Flash (and HTML)   @vancura — WebExpo 2010




                                       Fonts
                                       IN HTML5 & FLASH




Data basics
Preparing Data for Performance-Critical Apps in Flash (and HTML)               @vancura — WebExpo 2010




       Fonts in HTML5
       ● Google Font API
               http://code.google.com/intl/cs/apis/webfonts


       ● TypeKit
               http://typekit.com


       ● sIFR
               http://en.wikipedia.org/wiki/Scalable_Inman_Flash_Replacement


       ● Cufón
                http://cufon.shoqolate.com
              The only solution if you need accented glyphs


Data basics
Preparing Data for Performance-Critical Apps in Flash (and HTML)   @vancura — WebExpo 2010




       Fonts in Flash

       ● Antialiasing tweaking
              Lovely feature for pixel perverts like me

       ● Optimization of fonts
              UTF8 subset and simple fonts

       ● Problems with accented characters and locale
              It’s hard and expensive to find the right font




Data basics
Preparing Data for Performance-Critical Apps in Flash (and HTML)   @vancura — WebExpo 2010




       
      ➊ Data basics

           ➋ Advanced data production
       
      ➌ Why to bother to optimize?
       
      ➍ Optimization basics
       
      ➎ Testing & Profiling
       
      ➏ Advanced optimization
       
      ➐ Falanxia loves Github



Advanced data production
Preparing Data for Performance-Critical Apps in Flash (and HTML)            @vancura — WebExpo 2010




       Scale9



       ● Elemental slicing method
       ● Adobe Flash: vector scale9 only
       ● ScaleBitmap                     http://www.bytearray.org/?p=1206




Advanced data production
Preparing Data for Performance-Critical Apps in Flash (and HTML)   @vancura — WebExpo 2010




                                        Atlas




Advanced data production
Preparing Data for Performance-Critical Apps in Flash (and HTML)   @vancura — WebExpo 2010




       Examples OF ATLAS




Advanced data production
Preparing Data for Performance-Critical Apps in Flash (and HTML)   @vancura — WebExpo 2010




       Examples OF ATLAS




Advanced data production
Preparing Data for Performance-Critical Apps in Flash (and HTML)   @vancura — WebExpo 2010




       Benefits OF ATLAS

       ● Speed
            When rendering to one and only BitmapData

       ● Easy to create
            Easy to split and combine when using scripts

       ● Crossplatform
            HTML/CSS
            Cocos2D, Sparrow
            Pro games: PlayStation, XBOX



Advanced data production
Preparing Data for Performance-Critical Apps in Flash (and HTML)   @vancura — WebExpo 2010




       Disadvantages OF ATLAS

       ● Speed
            When using multiple BitmapDatas

       ● Somewhat difficult to maintain without scripting
       ● No layers
            Redundant compression of all pixels in each frame

       ● Update from one place
            Use only single Event.ENTER_FRAME



Advanced data production
Preparing Data for Performance-Critical Apps in Flash (and HTML)   @vancura — WebExpo 2010




                                        GUI




Advanced data production
Preparing Data for Performance-Critical Apps in Flash (and HTML)   @vancura — WebExpo 2010




       Benefits OF FLEX WIDGETS


       ● Flash Builder
            As WYSIWYG editor

       ● A lot of coders




Advanced data production
Preparing Data for Performance-Critical Apps in Flash (and HTML)   @vancura — WebExpo 2010




       Disadvantages OF FLEX WIDGETS
       ● Data hog
            Button + edit box + dropdown = 50 kB

       ● Speed hog
            Slow rendering and no caching

       ● Not pixel perfect
            Vectors everywhere
            Pixel hinting glitches when animating

       ● Difficult and slow animation
       ● Painful skinning
       ● Impossible 3D
Advanced data production
Preparing Data for Performance-Critical Apps in Flash (and HTML)                             @vancura — WebExpo 2010




       3rd party widgets
       ● Liquid Components                            http://j.mp/liquid-components
            Difficult skinning, data hog

       ● Yahoo Astra Components                                    http://j.mp/yahoo-astra-components

            Data hog

       ● Bit Components                         http://j.mp/bit-components
            License issues

       ● Minimal Components                               http://j.mp/minimal-components
            No skinning (currently a few skins available)

Advanced data production
Preparing Data for Performance-Critical Apps in Flash (and HTML)   @vancura — WebExpo 2010




       Falanxia widgets FEATURES
       ● Easy skinning
            Skinning without Flash, fully open source workflow

       ● Pixel perfect animation
            Inspired by CoreAnimation technology

       ● Optimized for size
            ~30 kB

       ● Optimized for speed
       ● Data loading via providers
            SWF, FAR, Librarium

Advanced data production
Preparing Data for Performance-Critical Apps in Flash (and HTML)   @vancura — WebExpo 2010




       Examples OF BARS




Advanced data production
Preparing Data for Performance-Critical Apps in Flash (and HTML)   @vancura — WebExpo 2010




       Examples OF BUTTONS




Advanced data production
Preparing Data for Performance-Critical Apps in Flash (and HTML)   @vancura — WebExpo 2010




       Examples OF GLYPHS




Advanced data production
Preparing Data for Performance-Critical Apps in Flash (and HTML)   @vancura — WebExpo 2010




       
      ➊ Data basics
              ➋ Advanced data production

           ➌ Why to bother to optimize?
       
      ➍ Optimization basics
       
      ➎ Testing & Profiling
       
      ➏ Advanced optimization
       
      ➐ Falanxia loves Github



Why to bother to optimize?
Preparing Data for Performance-Critical Apps in Flash (and HTML)          @vancura — WebExpo 2010




       Why to bother TO OPTIMIZE?
       ● Impatient user
            User hates waiting – and usually has a crappy computer

       ● CPU
            CPU hates being hot

       ● Memory
            Memory hates being full

       ● Server and bandwidth
            Making a world better place

       ● Progressive loading
            It’s always better when the user is able to do something during loading

Why to bother to optimize?
Preparing Data for Performance-Critical Apps in Flash (and HTML)   @vancura — WebExpo 2010




       
      ➊ Data basics
              ➋ Advanced data production
              ➌ Why bother with optimizations?

           ➍ Optimization basics
       
      ➎ Testing & Profiling
       
      ➏ Advanced optimization
       
      ➐ Falanxia loves Github



Optimization basics
Preparing Data for Performance-Critical Apps in Flash (and HTML)   @vancura — WebExpo 2010




       Runtime RECYCLATION

       ● GUI prefabs
       ● Textures
       ● Game elements
       ● Avatars
       ● Skins
       ● Subcomponents


Optimization basics
Preparing Data for Performance-Critical Apps in Flash (and HTML)   @vancura — WebExpo 2010




       Filesystem OPTIMIZATIONS

       ● Less server requests
       ● Better compression
       ● Better data maintenance
       ● But recompression on a change needed
            Possible to handle server-side

       ● ZIP, FAR (Flash Archive), Librarium


Optimization basics
Preparing Data for Performance-Critical Apps in Flash (and HTML)   @vancura — WebExpo 2010




       
      ➊ Data basics
              ➋ Advanced data production
              ➌ Why bother with optimizations?
              ➍ Optimization basics

           ➎ Testing & Profiling
       
      ➏ Advanced optimization
       
      ➐ Falanxia loves Github



Testing & Profiling
Preparing Data for Performance-Critical Apps in Flash (and HTML)               @vancura — WebExpo 2010




       Testing & Profiling
       ● A slower computer
            Even better with OSX

       ● Debug vs. Release Flash Player
       ● Flash profiling
            Flash Builder, FDT Enterprise, FlashPreloadProfiler
              http://jpauclair.net/flashpreloadprofiler

       ● mm.cfg               http://jpauclair.net/2010/02/10/mmcfg-treasure



Testing & Profiling
Preparing Data for Performance-Critical Apps in Flash (and HTML)                             @vancura — WebExpo 2010




       Charles Proxy                                           http://vaclav.vancura.org/aplikace-1-charles




Testing & Profiling
Preparing Data for Performance-Critical Apps in Flash (and HTML)                             @vancura — WebExpo 2010




       Charles Proxy                                           http://vaclav.vancura.org/aplikace-1-charles




Testing & Profiling
Preparing Data for Performance-Critical Apps in Flash (and HTML)                             @vancura — WebExpo 2010




       Charles Proxy                                           http://vaclav.vancura.org/aplikace-1-charles




Testing & Profiling
Preparing Data for Performance-Critical Apps in Flash (and HTML)                             @vancura — WebExpo 2010




       Charles Proxy                                           http://vaclav.vancura.org/aplikace-1-charles




Testing & Profiling
Preparing Data for Performance-Critical Apps in Flash (and HTML)   @vancura — WebExpo 2010




       
      ➊ Data basics
              ➋ Advanced data production
              ➌ Why bother with optimizations?
              ➍ Optimization basics
              ➎ Testing & Profiling

           ➏ Advanced optimization
       
      ➐ Falanxia loves Github



Advanced optimization
Preparing Data for Performance-Critical Apps in Flash (and HTML)   @vancura — WebExpo 2010




       Image Optimization
       ● It’s better to have fewer colors
       ● Posterization
            Client or server-side

       ● Procedural effects in Flash
            Noise, gradients, …

       ● Runtime layer simulation
            Possible combination of JPEG and PNG
            But don’t hold your breath:
            Flash has a layer count limit

       ● Photoshop problems
            Beware the color profiles and dithering

Advanced optimization
Preparing Data for Performance-Critical Apps in Flash (and HTML)   @vancura — WebExpo 2010




       Masking JPEGs


       ● Masking JPEG + vector in Flash
       ● Flash IDE needed
       ● Banners!




Advanced optimization
Preparing Data for Performance-Critical Apps in Flash (and HTML)   @vancura — WebExpo 2010




       ImageOptim



       ● PNG, GIF & JPEG optimization
            Look at the screenshot




Advanced optimization
Preparing Data for Performance-Critical Apps in Flash (and HTML)              @vancura — WebExpo 2010




       ImageMagick
       ● Join images vertically, bottom aligned
             convert -background transparent -gravity south NWimg.png NEimg2.png SEimg3.png
             SWimg3.png +append output.png



       ● Join images into an atlas
             convert -background transparent -gravity south $(ls -1 *.png) +append output.png




       ● Split atlas into a list of files
             convert -crop 22x34 +repage -background transparent altas_image.png frame_%02d.png




Advanced optimization
Preparing Data for Performance-Critical Apps in Flash (and HTML)   @vancura — WebExpo 2010




       Splitting Files


       ● Browsers have a cache limit per file
            It’s safe to consider 1 MB as a hard limit
            However Chrome is able to cache larger files




Advanced optimization
Preparing Data for Performance-Critical Apps in Flash (and HTML)   @vancura — WebExpo 2010




       
      ➊ Data basics
              ➋ Advanced data production
              ➌ Why bother with optimizations?
              ➍ Optimization basics
              ➎ Testing & Profiling
              ➏ Advanced optimization

           ➐ Falanxia loves Github

Falanxia loves Github
Preparing Data for Performance-Critical Apps in Flash (and HTML)   @vancura — WebExpo 2010




       Github Projects

       ● Moderatrix
              http://github.com/falanxia/moderatrix


       ● Emitor
              http://github.com/falanxia/emitor


       ● Utilitaris
              http://github.com/falanxia/utilitaris




Falanxia loves Github
Preparing Data for Performance-Critical Apps in Flash (and HTML)                    @vancura — WebExpo 2010




       Thanks.
       Questions?
         vaclav@vancura.org                @vancura

       Play Bzoonk Bar at                      http://apps.facebook.com/bzoonkbar

       ❧
       Icons: Flurry System by the Iconfactory (http://iconfactory.com/freeware/preview/flrs)


@vancura

More Related Content

Similar to Preparing Data for Performance-Critical Apps in Flash (and HTML)

2014 HTML5 총정리
2014 HTML5 총정리2014 HTML5 총정리
2014 HTML5 총정리Wonsuk Lee
 
Cutting edge of web technology
Cutting edge of web technologyCutting edge of web technology
Cutting edge of web technologyTsutomu Ogasawara
 
0025 todo lo_que_queria_saber_de_html5_y_no_se_animaba_a_preguntar
0025 todo lo_que_queria_saber_de_html5_y_no_se_animaba_a_preguntar0025 todo lo_que_queria_saber_de_html5_y_no_se_animaba_a_preguntar
0025 todo lo_que_queria_saber_de_html5_y_no_se_animaba_a_preguntarGeneXus
 
A Browser for the Automotive: Introduction to WebKit for Wayland (Automotive ...
A Browser for the Automotive: Introduction to WebKit for Wayland (Automotive ...A Browser for the Automotive: Introduction to WebKit for Wayland (Automotive ...
A Browser for the Automotive: Introduction to WebKit for Wayland (Automotive ...Igalia
 
Change by HTML5
Change by HTML5Change by HTML5
Change by HTML5dynamis
 
DevTeach Ottawa - Silverlight5 and HTML5
DevTeach Ottawa - Silverlight5 and HTML5DevTeach Ottawa - Silverlight5 and HTML5
DevTeach Ottawa - Silverlight5 and HTML5Frédéric Harper
 
Resume-pierre-stephane-us
Resume-pierre-stephane-usResume-pierre-stephane-us
Resume-pierre-stephane-usStephane Pierre
 
Mihai Tataran - Building Windows 8 Applications with HTML5 and JS
Mihai Tataran - Building Windows 8 Applications with HTML5 and JSMihai Tataran - Building Windows 8 Applications with HTML5 and JS
Mihai Tataran - Building Windows 8 Applications with HTML5 and JSITCamp
 
Serverless computing with Google Cloud
Serverless computing with Google CloudServerless computing with Google Cloud
Serverless computing with Google Cloudwesley chun
 
HTML5 - The Python Angle (PyCon Ireland 2010)
HTML5 - The Python Angle (PyCon Ireland 2010)HTML5 - The Python Angle (PyCon Ireland 2010)
HTML5 - The Python Angle (PyCon Ireland 2010)Kevin Gill
 
U4Aide platform introduction_e_infocg_2020
U4Aide platform introduction_e_infocg_2020U4Aide platform introduction_e_infocg_2020
U4Aide platform introduction_e_infocg_2020hoyoung kim
 
Google Platform Overview (April 2014)
Google Platform Overview (April 2014)Google Platform Overview (April 2014)
Google Platform Overview (April 2014)Ido Green
 
Html5, Native and Platform based Mobile Applications
Html5, Native and Platform based Mobile ApplicationsHtml5, Native and Platform based Mobile Applications
Html5, Native and Platform based Mobile ApplicationsYoss Cohen
 
Angular (v2 and up) - Morning to understand - Linagora
Angular (v2 and up) - Morning to understand - LinagoraAngular (v2 and up) - Morning to understand - Linagora
Angular (v2 and up) - Morning to understand - LinagoraLINAGORA
 
Apache Flex and the imperfect Web
Apache Flex and the imperfect WebApache Flex and the imperfect Web
Apache Flex and the imperfect Webmasuland
 
Résumé - Mahlon E. Lo Vuolo
Résumé -  Mahlon E. Lo VuoloRésumé -  Mahlon E. Lo Vuolo
Résumé - Mahlon E. Lo VuoloEdLoVuolo
 
Keypoints html5
Keypoints html5Keypoints html5
Keypoints html5dynamis
 
HTML5 Technical Executive Summary
HTML5 Technical Executive SummaryHTML5 Technical Executive Summary
HTML5 Technical Executive SummaryGilad Khen
 

Similar to Preparing Data for Performance-Critical Apps in Flash (and HTML) (20)

2014 HTML5 총정리
2014 HTML5 총정리2014 HTML5 총정리
2014 HTML5 총정리
 
Cutting edge of web technology
Cutting edge of web technologyCutting edge of web technology
Cutting edge of web technology
 
0025 todo lo_que_queria_saber_de_html5_y_no_se_animaba_a_preguntar
0025 todo lo_que_queria_saber_de_html5_y_no_se_animaba_a_preguntar0025 todo lo_que_queria_saber_de_html5_y_no_se_animaba_a_preguntar
0025 todo lo_que_queria_saber_de_html5_y_no_se_animaba_a_preguntar
 
A Browser for the Automotive: Introduction to WebKit for Wayland (Automotive ...
A Browser for the Automotive: Introduction to WebKit for Wayland (Automotive ...A Browser for the Automotive: Introduction to WebKit for Wayland (Automotive ...
A Browser for the Automotive: Introduction to WebKit for Wayland (Automotive ...
 
Change by HTML5
Change by HTML5Change by HTML5
Change by HTML5
 
DevTeach Ottawa - Silverlight5 and HTML5
DevTeach Ottawa - Silverlight5 and HTML5DevTeach Ottawa - Silverlight5 and HTML5
DevTeach Ottawa - Silverlight5 and HTML5
 
Resume-pierre-stephane-us
Resume-pierre-stephane-usResume-pierre-stephane-us
Resume-pierre-stephane-us
 
Mihai Tataran - Building Windows 8 Applications with HTML5 and JS
Mihai Tataran - Building Windows 8 Applications with HTML5 and JSMihai Tataran - Building Windows 8 Applications with HTML5 and JS
Mihai Tataran - Building Windows 8 Applications with HTML5 and JS
 
Serverless computing with Google Cloud
Serverless computing with Google CloudServerless computing with Google Cloud
Serverless computing with Google Cloud
 
HTML5 - The Python Angle (PyCon Ireland 2010)
HTML5 - The Python Angle (PyCon Ireland 2010)HTML5 - The Python Angle (PyCon Ireland 2010)
HTML5 - The Python Angle (PyCon Ireland 2010)
 
U4Aide platform introduction_e_infocg_2020
U4Aide platform introduction_e_infocg_2020U4Aide platform introduction_e_infocg_2020
U4Aide platform introduction_e_infocg_2020
 
Google Platform Overview (April 2014)
Google Platform Overview (April 2014)Google Platform Overview (April 2014)
Google Platform Overview (April 2014)
 
Html5, Native and Platform based Mobile Applications
Html5, Native and Platform based Mobile ApplicationsHtml5, Native and Platform based Mobile Applications
Html5, Native and Platform based Mobile Applications
 
Html5
Html5Html5
Html5
 
Lenguajes y plataformas de desarrollo
Lenguajes y plataformas de desarrolloLenguajes y plataformas de desarrollo
Lenguajes y plataformas de desarrollo
 
Angular (v2 and up) - Morning to understand - Linagora
Angular (v2 and up) - Morning to understand - LinagoraAngular (v2 and up) - Morning to understand - Linagora
Angular (v2 and up) - Morning to understand - Linagora
 
Apache Flex and the imperfect Web
Apache Flex and the imperfect WebApache Flex and the imperfect Web
Apache Flex and the imperfect Web
 
Résumé - Mahlon E. Lo Vuolo
Résumé -  Mahlon E. Lo VuoloRésumé -  Mahlon E. Lo Vuolo
Résumé - Mahlon E. Lo Vuolo
 
Keypoints html5
Keypoints html5Keypoints html5
Keypoints html5
 
HTML5 Technical Executive Summary
HTML5 Technical Executive SummaryHTML5 Technical Executive Summary
HTML5 Technical Executive Summary
 

Recently uploaded

Build your next Gen AI Breakthrough - April 2024
Build your next Gen AI Breakthrough - April 2024Build your next Gen AI Breakthrough - April 2024
Build your next Gen AI Breakthrough - April 2024Neo4j
 
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Mark Simos
 
Benefits Of Flutter Compared To Other Frameworks
Benefits Of Flutter Compared To Other FrameworksBenefits Of Flutter Compared To Other Frameworks
Benefits Of Flutter Compared To Other FrameworksSoftradix Technologies
 
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks..."LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...Fwdays
 
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)Bun (KitWorks Team Study 노별마루 발표 2024.4.22)
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)Wonjun Hwang
 
Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Mattias Andersson
 
Gen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfGen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfAddepto
 
CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):comworks
 
Unraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfUnraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfAlex Barbosa Coqueiro
 
Understanding the Laravel MVC Architecture
Understanding the Laravel MVC ArchitectureUnderstanding the Laravel MVC Architecture
Understanding the Laravel MVC ArchitecturePixlogix Infotech
 
Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024Enterprise Knowledge
 
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...Patryk Bandurski
 
Beyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry InnovationBeyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry InnovationSafe Software
 
Dev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebDev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebUiPathCommunity
 
SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024Lorenzo Miniero
 
Bluetooth Controlled Car with Arduino.pdf
Bluetooth Controlled Car with Arduino.pdfBluetooth Controlled Car with Arduino.pdf
Bluetooth Controlled Car with Arduino.pdfngoud9212
 
Science&tech:THE INFORMATION AGE STS.pdf
Science&tech:THE INFORMATION AGE STS.pdfScience&tech:THE INFORMATION AGE STS.pdf
Science&tech:THE INFORMATION AGE STS.pdfjimielynbastida
 
Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Scott Keck-Warren
 

Recently uploaded (20)

Build your next Gen AI Breakthrough - April 2024
Build your next Gen AI Breakthrough - April 2024Build your next Gen AI Breakthrough - April 2024
Build your next Gen AI Breakthrough - April 2024
 
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
 
Benefits Of Flutter Compared To Other Frameworks
Benefits Of Flutter Compared To Other FrameworksBenefits Of Flutter Compared To Other Frameworks
Benefits Of Flutter Compared To Other Frameworks
 
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks..."LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
 
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)Bun (KitWorks Team Study 노별마루 발표 2024.4.22)
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)
 
E-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptx
E-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptxE-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptx
E-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptx
 
Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?
 
Gen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfGen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdf
 
CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):
 
Unraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfUnraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdf
 
Understanding the Laravel MVC Architecture
Understanding the Laravel MVC ArchitectureUnderstanding the Laravel MVC Architecture
Understanding the Laravel MVC Architecture
 
Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024
 
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
 
Beyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry InnovationBeyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
 
Hot Sexy call girls in Panjabi Bagh 🔝 9953056974 🔝 Delhi escort Service
Hot Sexy call girls in Panjabi Bagh 🔝 9953056974 🔝 Delhi escort ServiceHot Sexy call girls in Panjabi Bagh 🔝 9953056974 🔝 Delhi escort Service
Hot Sexy call girls in Panjabi Bagh 🔝 9953056974 🔝 Delhi escort Service
 
Dev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebDev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio Web
 
SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024
 
Bluetooth Controlled Car with Arduino.pdf
Bluetooth Controlled Car with Arduino.pdfBluetooth Controlled Car with Arduino.pdf
Bluetooth Controlled Car with Arduino.pdf
 
Science&tech:THE INFORMATION AGE STS.pdf
Science&tech:THE INFORMATION AGE STS.pdfScience&tech:THE INFORMATION AGE STS.pdf
Science&tech:THE INFORMATION AGE STS.pdf
 
Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024
 

Preparing Data for Performance-Critical Apps in Flash (and HTML)

  • 1. Preparing Data for Performance-Critical Apps in Flash (and HTML) @vancura — WebExpo 2010 Preparing Data for Performance-Critical Apps in Flash (and HTML) Václav Vančura September 2009 @vancura
  • 2. Preparing Data for Performance-Critical Apps in Flash (and HTML) @vancura — WebExpo 2010 Václav Vančura / FALANXIA ● Illustrator who started to code ● Currently GUI designer and coder ● Developing Facebook games in Falanxia ● Tweaking Unity games by night ● @vancura, vaclav.vancura.org
  • 3. Preparing Data for Performance-Critical Apps in Flash (and HTML) @vancura — WebExpo 2010 ➊ Data basics ➋ Advanced data production ➌ Why to bother to optimize? ➍ Optimization basics ➎ Testing & profiling ➏ Advanced optimization ➐ Falanxia loves Github Data basics
  • 4. Preparing Data for Performance-Critical Apps in Flash (and HTML) @vancura — WebExpo 2010 Static images Data basics
  • 5. Preparing Data for Performance-Critical Apps in Flash (and HTML) @vancura — WebExpo 2010 Benefits OF STATIC IMAGES ● Easy to create and maintain ● A lot of apps ● A lot of formats But Flash Player internally knows just a few ● Established and proven algorithms Except recent Internet Explorer PNG exploit Data basics
  • 6. Preparing Data for Performance-Critical Apps in Flash (and HTML) @vancura — WebExpo 2010 Disadvantages OF STATIC IMAGES ● PNG Lossless but large ● JPEG No transparency but small (and lossy) JPEG transparency is our new project ● Embedding in AS3 [Embed(source="/path/to/asset.png", compression="true", quality="90")] Data basics
  • 7. Preparing Data for Performance-Critical Apps in Flash (and HTML) @vancura — WebExpo 2010 Marginal or outdated file formats OF STATIC IMAGES ● MNG Basically an animated PNG ● JPEG2000 Better (fractal) compression ● GIF, BMP, PCX Data basics
  • 8. Preparing Data for Performance-Critical Apps in Flash (and HTML) @vancura — WebExpo 2010 Sprites & MovieClips IN FLASH Data basics
  • 9. Preparing Data for Performance-Critical Apps in Flash (and HTML) @vancura — WebExpo 2010 Benefits OF SPRITES & MOVIECLIPS ● Easy to create ● Rendering speed ● Transparency & dynamic blending modes Multiply, Screen, Overlay, … ● Dynamic effects Filters like drop shadow, glow, blur, bevel, … ● Vector Better scaling Data basics
  • 10. Preparing Data for Performance-Critical Apps in Flash (and HTML) @vancura — WebExpo 2010 Disadvantages OF SPRITES & MOVIECLIPS ● Problematic compilation Needs Flash IDE (or Illustrator, kind of) ● Difficult to maintain Hard to change structure once it’s done ● Compiler strips out AS3 code ● Vector Problems with bitmaps, antialiasing Pixel perfection is painful Data basics
  • 11. Preparing Data for Performance-Critical Apps in Flash (and HTML) @vancura — WebExpo 2010 Sound and Music IN HTML5 & FLASH Data basics
  • 12. Preparing Data for Performance-Critical Apps in Flash (and HTML) @vancura — WebExpo 2010 Features OF SOUND IN FLASH ● Painless implementation ● Selective compression ● Dynamic sound AS3/FP10 ● Only 32 sound channels at once ● Compilation problems Windows (!) Flash IDE is actually a must. Haxe is a solution, but is painful to set up. http://haxe.org Data basics
  • 13. Preparing Data for Performance-Critical Apps in Flash (and HTML) @vancura — WebExpo 2010 Music ● Still only MP3 OGG Vorbis in Flash (and HTML) is a lot of work (mainly because of Alchemy) ● Multitracks & sequencers Procedural realtime mixing ● Trackers MOD, S3M, XM, IT etc. Unity 3 now has tracker support Data basics
  • 14. Preparing Data for Performance-Critical Apps in Flash (and HTML) @vancura — WebExpo 2010 CFXR ● Awesome tool when you need retro sounds http://thirdcog.eu/apps/cfxr ● Sonoport http://www.sonoport.com
  • 15. Preparing Data for Performance-Critical Apps in Flash (and HTML) @vancura — WebExpo 2010 Video IN HTML5 & FLASH Data basics
  • 16. Preparing Data for Performance-Critical Apps in Flash (and HTML) @vancura — WebExpo 2010 Video in HTML5 ● Speed Using GPU ● Cross-platform Desktop, mobile OS ● But too many formats WebM, MP4/H.264, OGG Theora Flash fallback ● Very difficult to encode ● No streaming so far Data basics
  • 17. Preparing Data for Performance-Critical Apps in Flash (and HTML) @vancura — WebExpo 2010 Video in Flash ● Formats FLV (Sorenson Spark / FLP 6+, ON2 VP6 / FLP 8+), F4V (H.264 / FLP9+) ● Painless implementation in Flash ● Streaming with Flash Media Server Streaming from camera And alternatives: Wowza Media Server, Red5 ● DRM ● Transparency via VP6 ● Encoding via FFmpeg and Adobe Media Encoder ● But CPU hog Flash Player 10.1 brings some optimizations (~30 %) Data basics
  • 18. Preparing Data for Performance-Critical Apps in Flash (and HTML) @vancura — WebExpo 2010 Fonts IN HTML5 & FLASH Data basics
  • 19. Preparing Data for Performance-Critical Apps in Flash (and HTML) @vancura — WebExpo 2010 Fonts in HTML5 ● Google Font API http://code.google.com/intl/cs/apis/webfonts ● TypeKit http://typekit.com ● sIFR http://en.wikipedia.org/wiki/Scalable_Inman_Flash_Replacement ● Cufón http://cufon.shoqolate.com The only solution if you need accented glyphs Data basics
  • 20. Preparing Data for Performance-Critical Apps in Flash (and HTML) @vancura — WebExpo 2010 Fonts in Flash ● Antialiasing tweaking Lovely feature for pixel perverts like me ● Optimization of fonts UTF8 subset and simple fonts ● Problems with accented characters and locale It’s hard and expensive to find the right font Data basics
  • 21. Preparing Data for Performance-Critical Apps in Flash (and HTML) @vancura — WebExpo 2010 ➊ Data basics ➋ Advanced data production ➌ Why to bother to optimize? ➍ Optimization basics ➎ Testing & Profiling ➏ Advanced optimization ➐ Falanxia loves Github Advanced data production
  • 22. Preparing Data for Performance-Critical Apps in Flash (and HTML) @vancura — WebExpo 2010 Scale9 ● Elemental slicing method ● Adobe Flash: vector scale9 only ● ScaleBitmap http://www.bytearray.org/?p=1206 Advanced data production
  • 23. Preparing Data for Performance-Critical Apps in Flash (and HTML) @vancura — WebExpo 2010 Atlas Advanced data production
  • 24. Preparing Data for Performance-Critical Apps in Flash (and HTML) @vancura — WebExpo 2010 Examples OF ATLAS Advanced data production
  • 25. Preparing Data for Performance-Critical Apps in Flash (and HTML) @vancura — WebExpo 2010 Examples OF ATLAS Advanced data production
  • 26. Preparing Data for Performance-Critical Apps in Flash (and HTML) @vancura — WebExpo 2010 Benefits OF ATLAS ● Speed When rendering to one and only BitmapData ● Easy to create Easy to split and combine when using scripts ● Crossplatform HTML/CSS Cocos2D, Sparrow Pro games: PlayStation, XBOX Advanced data production
  • 27. Preparing Data for Performance-Critical Apps in Flash (and HTML) @vancura — WebExpo 2010 Disadvantages OF ATLAS ● Speed When using multiple BitmapDatas ● Somewhat difficult to maintain without scripting ● No layers Redundant compression of all pixels in each frame ● Update from one place Use only single Event.ENTER_FRAME Advanced data production
  • 28. Preparing Data for Performance-Critical Apps in Flash (and HTML) @vancura — WebExpo 2010 GUI Advanced data production
  • 29. Preparing Data for Performance-Critical Apps in Flash (and HTML) @vancura — WebExpo 2010 Benefits OF FLEX WIDGETS ● Flash Builder As WYSIWYG editor ● A lot of coders Advanced data production
  • 30. Preparing Data for Performance-Critical Apps in Flash (and HTML) @vancura — WebExpo 2010 Disadvantages OF FLEX WIDGETS ● Data hog Button + edit box + dropdown = 50 kB ● Speed hog Slow rendering and no caching ● Not pixel perfect Vectors everywhere Pixel hinting glitches when animating ● Difficult and slow animation ● Painful skinning ● Impossible 3D Advanced data production
  • 31. Preparing Data for Performance-Critical Apps in Flash (and HTML) @vancura — WebExpo 2010 3rd party widgets ● Liquid Components http://j.mp/liquid-components Difficult skinning, data hog ● Yahoo Astra Components http://j.mp/yahoo-astra-components Data hog ● Bit Components http://j.mp/bit-components License issues ● Minimal Components http://j.mp/minimal-components No skinning (currently a few skins available) Advanced data production
  • 32. Preparing Data for Performance-Critical Apps in Flash (and HTML) @vancura — WebExpo 2010 Falanxia widgets FEATURES ● Easy skinning Skinning without Flash, fully open source workflow ● Pixel perfect animation Inspired by CoreAnimation technology ● Optimized for size ~30 kB ● Optimized for speed ● Data loading via providers SWF, FAR, Librarium Advanced data production
  • 33. Preparing Data for Performance-Critical Apps in Flash (and HTML) @vancura — WebExpo 2010 Examples OF BARS Advanced data production
  • 34. Preparing Data for Performance-Critical Apps in Flash (and HTML) @vancura — WebExpo 2010 Examples OF BUTTONS Advanced data production
  • 35. Preparing Data for Performance-Critical Apps in Flash (and HTML) @vancura — WebExpo 2010 Examples OF GLYPHS Advanced data production
  • 36. Preparing Data for Performance-Critical Apps in Flash (and HTML) @vancura — WebExpo 2010 ➊ Data basics ➋ Advanced data production ➌ Why to bother to optimize? ➍ Optimization basics ➎ Testing & Profiling ➏ Advanced optimization ➐ Falanxia loves Github Why to bother to optimize?
  • 37. Preparing Data for Performance-Critical Apps in Flash (and HTML) @vancura — WebExpo 2010 Why to bother TO OPTIMIZE? ● Impatient user User hates waiting – and usually has a crappy computer ● CPU CPU hates being hot ● Memory Memory hates being full ● Server and bandwidth Making a world better place ● Progressive loading It’s always better when the user is able to do something during loading Why to bother to optimize?
  • 38. Preparing Data for Performance-Critical Apps in Flash (and HTML) @vancura — WebExpo 2010 ➊ Data basics ➋ Advanced data production ➌ Why bother with optimizations? ➍ Optimization basics ➎ Testing & Profiling ➏ Advanced optimization ➐ Falanxia loves Github Optimization basics
  • 39. Preparing Data for Performance-Critical Apps in Flash (and HTML) @vancura — WebExpo 2010 Runtime RECYCLATION ● GUI prefabs ● Textures ● Game elements ● Avatars ● Skins ● Subcomponents Optimization basics
  • 40. Preparing Data for Performance-Critical Apps in Flash (and HTML) @vancura — WebExpo 2010 Filesystem OPTIMIZATIONS ● Less server requests ● Better compression ● Better data maintenance ● But recompression on a change needed Possible to handle server-side ● ZIP, FAR (Flash Archive), Librarium Optimization basics
  • 41. Preparing Data for Performance-Critical Apps in Flash (and HTML) @vancura — WebExpo 2010 ➊ Data basics ➋ Advanced data production ➌ Why bother with optimizations? ➍ Optimization basics ➎ Testing & Profiling ➏ Advanced optimization ➐ Falanxia loves Github Testing & Profiling
  • 42. Preparing Data for Performance-Critical Apps in Flash (and HTML) @vancura — WebExpo 2010 Testing & Profiling ● A slower computer Even better with OSX ● Debug vs. Release Flash Player ● Flash profiling Flash Builder, FDT Enterprise, FlashPreloadProfiler http://jpauclair.net/flashpreloadprofiler ● mm.cfg http://jpauclair.net/2010/02/10/mmcfg-treasure Testing & Profiling
  • 43. Preparing Data for Performance-Critical Apps in Flash (and HTML) @vancura — WebExpo 2010 Charles Proxy http://vaclav.vancura.org/aplikace-1-charles Testing & Profiling
  • 44. Preparing Data for Performance-Critical Apps in Flash (and HTML) @vancura — WebExpo 2010 Charles Proxy http://vaclav.vancura.org/aplikace-1-charles Testing & Profiling
  • 45. Preparing Data for Performance-Critical Apps in Flash (and HTML) @vancura — WebExpo 2010 Charles Proxy http://vaclav.vancura.org/aplikace-1-charles Testing & Profiling
  • 46. Preparing Data for Performance-Critical Apps in Flash (and HTML) @vancura — WebExpo 2010 Charles Proxy http://vaclav.vancura.org/aplikace-1-charles Testing & Profiling
  • 47. Preparing Data for Performance-Critical Apps in Flash (and HTML) @vancura — WebExpo 2010 ➊ Data basics ➋ Advanced data production ➌ Why bother with optimizations? ➍ Optimization basics ➎ Testing & Profiling ➏ Advanced optimization ➐ Falanxia loves Github Advanced optimization
  • 48. Preparing Data for Performance-Critical Apps in Flash (and HTML) @vancura — WebExpo 2010 Image Optimization ● It’s better to have fewer colors ● Posterization Client or server-side ● Procedural effects in Flash Noise, gradients, … ● Runtime layer simulation Possible combination of JPEG and PNG But don’t hold your breath: Flash has a layer count limit ● Photoshop problems Beware the color profiles and dithering Advanced optimization
  • 49. Preparing Data for Performance-Critical Apps in Flash (and HTML) @vancura — WebExpo 2010 Masking JPEGs ● Masking JPEG + vector in Flash ● Flash IDE needed ● Banners! Advanced optimization
  • 50. Preparing Data for Performance-Critical Apps in Flash (and HTML) @vancura — WebExpo 2010 ImageOptim ● PNG, GIF & JPEG optimization Look at the screenshot Advanced optimization
  • 51. Preparing Data for Performance-Critical Apps in Flash (and HTML) @vancura — WebExpo 2010 ImageMagick ● Join images vertically, bottom aligned convert -background transparent -gravity south NWimg.png NEimg2.png SEimg3.png SWimg3.png +append output.png ● Join images into an atlas convert -background transparent -gravity south $(ls -1 *.png) +append output.png ● Split atlas into a list of files convert -crop 22x34 +repage -background transparent altas_image.png frame_%02d.png Advanced optimization
  • 52. Preparing Data for Performance-Critical Apps in Flash (and HTML) @vancura — WebExpo 2010 Splitting Files ● Browsers have a cache limit per file It’s safe to consider 1 MB as a hard limit However Chrome is able to cache larger files Advanced optimization
  • 53. Preparing Data for Performance-Critical Apps in Flash (and HTML) @vancura — WebExpo 2010 ➊ Data basics ➋ Advanced data production ➌ Why bother with optimizations? ➍ Optimization basics ➎ Testing & Profiling ➏ Advanced optimization ➐ Falanxia loves Github Falanxia loves Github
  • 54. Preparing Data for Performance-Critical Apps in Flash (and HTML) @vancura — WebExpo 2010 Github Projects ● Moderatrix http://github.com/falanxia/moderatrix ● Emitor http://github.com/falanxia/emitor ● Utilitaris http://github.com/falanxia/utilitaris Falanxia loves Github
  • 55. Preparing Data for Performance-Critical Apps in Flash (and HTML) @vancura — WebExpo 2010 Thanks. Questions? vaclav@vancura.org @vancura Play Bzoonk Bar at http://apps.facebook.com/bzoonkbar ❧ Icons: Flurry System by the Iconfactory (http://iconfactory.com/freeware/preview/flrs) @vancura