Optimizing Adobe Flash for Performance

Total Page:16

File Type:pdf, Size:1020Kb

Optimizing Adobe Flash for Performance Optimizing Adobe Flash for Performance by Keith Gladstien In this article, you'll find strategies to optimize performance of applications made with Flash Professional. The process of optimization involves editing your FLA project files to ensure that the published application's realized (or actual) frame rate is sufficient to make animations play back fluidly. If you've ever run a Flash project and seen stuttering animation, that is the behavior you want to avoid. If you'd like to replicate a test with stuttering animation, create a project with a simple animation and assign a frame rate less than 10 (such as 5). When you test the movie by publishing the SWF file, you'll see an example of stuttering animation. There are two main components that determine Flash performance: CPU/GPU usage and memory usage. These components are not independent of each other. Some optimization adjustments applied to improve one aspect will have a negative impact on the other. In the sections below, I'll explain how that works and provide reasons why you might judiciously decide to, for example, increase memory use in order to decrease the CPU/GPU load. If you develop Flash games for mobile devices, it's likely you'll need to use some of the techniques discussed below to achieve acceptable frame rates. If you are creating non-game apps for the desktop, it's possible to achieve acceptable frame rates with little or no familiarity with the techniques described in this article. Judging and measuring game performance with Adobe Scout The only way to accurately judge the performance of your app is to run it on the target platform – your development platform can have very different performance characteristics, especially if you're developing for mobile devices. In late 2012, Adobe released a new tool called Adobe Scout (formerly known as "Project Monocle") that lets you do just this. Scout is a profiler and performance debugging tool for Flash content. It lets you accurately measure the performance of your app – its frame rate, CPU utilization, memory use, rendering performance, and much more. It supports remote profiling, meaning that you can profile your app while it's running on a mobile device. This lets you tune the performance of your app for the specific platform you're targeting. You can download Scout from here. For more information about what Scout can do, and how to use it, you can read the getting started guide. Memory tracking, memory use, and performance testing Scout can help you to detect memory leaks in your content, but version 1.0 doesn't show you which objects are in memory and causing the leak. More detailed memory features are planned for future releases, coming soon. In the meantime, if you discover memory issues on the target platform, you can use the MT class to debug your app and resolve issues. (In the provided sample files folder, open the ActionScript class located in this directory: MT/com/kglad/MT.as.) The code in the MT class is adapted from code provided by Damian Connolly on his site divillysausages.com. The MT class reports frame rate, memory consumption, and lists any objects that are still in memory. To use the MT class, follow these steps: 1. Import the MT class: import com.kglad.MT; 2. Initialize it from the document class or the project's main timeline with this line: MT.init(this,reportFrequency); In the line above, the this keyword references the movie's main Timeline and reportFrequency is an integer. The main Timeline reference is used to compute the realized frame rate and reportFrequency is the frequency (in seconds) that the trace output reports the frame rate and amount of memory consumed by a Flash application. If you don't want to output periodic frame rate and memory reporting data, pass 0 (or anything less). Even if you choose not to output the frame rate, you can still use the memory tracker part of this class. 3. To track objects you create in your app, add this line: MT.track(whatever_object,any_detail); In this line of code, the first parameter is the object you want to track (to see if it is removed from memory) and the second parameter is an optional string containing anything you want to test. (Developers typically use this parameter to get details about what, where, and/or when you started tracking a specific object). 4. To create a report that reveals whether your tracked objects still exist in memory, add this line: MT.report(); It is not necessary that you understand the MT class to use it. However, it is a good idea to check out how the Dictionary class is used to store weak references to all the objects passed to MT.track(). The class includes extensive comments that describe how it works. Many of the sample file tests provided at the beginning of this article use the MT class. To learn more about working with the MT class, check out the tests to see how the MT class is used. Similar to the observer effect in physics, the mere fact that we are measuring the frame rate and/or memory and/or tracking memory, changes the frame rate and memory utilization of your app. However, the effect of measurement can be minimized if the trace output is relatively infrequent. Additionally, the absolute numbers are usually not important. It is the change in frame rate and/or memory use over time that is important for debugging and optimization. The MT class does a good job of reporting these types of changes. The MT class does not allow trace outputs more than once per second to help minimize spuriously low frame rate reports caused by frequent use of the trace method. (The trace method itself can slow the frame rate.) It's important to note that you can always eliminate trace output as a confounder of frame rate determination by using a textfield instead of trace output, if desired. The MT class is the only tool used by the sample file test projects to check memory usage and pinpoint memory problems. It also indirectly measures CPU/GPU usage (by checking the actual frame rate of the executing app). Implementing optimization techniques In the sections below, I'll begin by discussing memory management guidelines, with sub-topics listed in alphabetical order. Next, I'll provide information on CPU/GPU management with sub- topics related to that goal. It may seem logical to provide the techniques in two sections. However, as you read through this article, remember that memory management affects CPU/GPU usage, so the recommendations listed in the memory management section work in tandem with the tips listed in the CPU/GPU section. Before providing the specific best practices you can use, I think it is also helpful to include information about the techniques so that you can learn which are the easiest or hardest to implement. I'll also provide a second list that prioritizes the techniques from greatest to least benefit. Keep in mind that these lists are subjective. The order depends on personal developer experience and capabilities, as well as the test situation and test environment. Easiest to hardest optimization techniques to implement 1. Do not use filters. 2. Always use reverse for-loops. Avoid writing do-loops and while-loops. 3. Explicitly stop Timers to ready them for garbage collection. 4. Use weak event listeners and remove listeners when no longer needed. 5. Strictly type variables whenever possible. 6. Explicitly disable mouse interactivity when mouse interactivity is not required. 7. Replace dispatchEvents with callback functions whenever possible. 8. Stop Sounds to enable garbage collection for Sounds and SoundChannels. 9. Use the most basic DisplayObject needed for each element. 10. Always use cacheAsBitmap and cacheAsBitmapMatrix with air apps (mobile devices). 11. Reuse Objects whenever possible. 12. Event.ENTER_FRAME loops: Use different listeners and different listener functions applied to as few DisplayObjects as possible. 13. Pool Objects instead of creating and garbage collecting Objects. 14. Use partial blitting. 15. Use stage blitting. 16. Use Stage3D. Greatest to least benefit of optimization techniques 1. Use stage blitting (if there is enough system memory). 2. Use Stage3D. 3. Use partial blitting. 4. Use cacheAsBitmap and cacheAsBitmapMatrix with mobile devices. 5. Explicitly disable mouse interactivity when mouse interactivity not needed. 6. Do not use filters. 7. Use the most basic DisplayObject needed. 8. Reuse Objects whenever possible. 9. Event.ENTER_FRAME loops: Use different listeners and different listener functions applied to as few DisplayObjects as possible. 10. Use reverse for-loops. Avoid writing do-loops and while-loops. 11. Pool Objects instead of creating and garbage collecting Objects. 12. Strictly type variables whenever possible. 13. Use weak event listeners and remove listeners. 14. Replace dispatchEvents with callback functions whenever possible. 15. Explicitly stop Timers to prepare them for garbage collection. 16. Stop Sounds to enable garbage collection for Sounds and SoundChannels. With these priorities in mind, proceed to the next section to learn how to update your Flash projects to manage memory more efficiently. Managing memory The list of suggestions below is not exhaustive but it contains strategies that can significantly improve the performance of Flash content. Using a callback function vs. dispatchEvent There is an increase in memory use when dispatching events because each event must be created and memory is allocated to it. That behavior makes sense: events are objects and therefore require memory. I tested a handful of events and found each consumed 40 to 128 bytes. I also discovered that using callback functions used less memory and ran more efficiently than using events.
Recommended publications
  • The Uses of Animation 1
    The Uses of Animation 1 1 The Uses of Animation ANIMATION Animation is the process of making the illusion of motion and change by means of the rapid display of a sequence of static images that minimally differ from each other. The illusion—as in motion pictures in general—is thought to rely on the phi phenomenon. Animators are artists who specialize in the creation of animation. Animation can be recorded with either analogue media, a flip book, motion picture film, video tape,digital media, including formats with animated GIF, Flash animation and digital video. To display animation, a digital camera, computer, or projector are used along with new technologies that are produced. Animation creation methods include the traditional animation creation method and those involving stop motion animation of two and three-dimensional objects, paper cutouts, puppets and clay figures. Images are displayed in a rapid succession, usually 24, 25, 30, or 60 frames per second. THE MOST COMMON USES OF ANIMATION Cartoons The most common use of animation, and perhaps the origin of it, is cartoons. Cartoons appear all the time on television and the cinema and can be used for entertainment, advertising, 2 Aspects of Animation: Steps to Learn Animated Cartoons presentations and many more applications that are only limited by the imagination of the designer. The most important factor about making cartoons on a computer is reusability and flexibility. The system that will actually do the animation needs to be such that all the actions that are going to be performed can be repeated easily, without much fuss from the side of the animator.
    [Show full text]
  • Escola Universitària D'enginyeria Tècnica De
    ESCOLA UNIVERSITÀRIA D’ENGINYERIA TÈCNICA DE TELECOMUNICACIÓ LA SALLE TREBALL FINAL DE GRAU GRAU EN ENGINYERIA MULTIMÈDIA iOS App: Hi ha vida més enllà de Xcode ALUMNE PROFESSOR PONENT Albert Alvarez Castell Guillem Villa Fernandez ACTA DE L'EXAMEN DEL TREBALL FINAL DE GRAU Reunit el Tribunal qualificador en el dia de la data, l'alumne D. Albert Alvarez Castell va exposar el seu Treball de Final de Grau, el qual va tractar sobre el tema següent: iOS App: Hi ha vida més enllà de Xcode Acabada l'exposició i contestades per part de l'alumne les objeccions formulades pels Srs. membres del tribunal, aquest valorà l'esmentat Treball amb la qualificació de Barcelona, VOCAL DEL TRIBUNAL VOCAL DEL TRIBUNAL PRESIDENT DEL TRIBUNAL IOS APP : HI HA VIDA MÉS ENLLÀ DE XCODE Albert Alvarez Castell ABSTRACT El projecte està dirigit a comparar dues tecnologies diferents amb les que crearem una mateixa aplicació. Així podrem extreure, analitzant diferents aspectes del desenvolupament, quina tecnologia és més adient i eficient per a realitzar un projecte segons les seves necessitats. Com el projecte que buscàvem era una aplicació per iOS , lògicament una de les tecnologies és la nativa, per lo que hem utilitzat Objective-C amb Xcode i com a framework, Cocos2D . Per altre banda, hem escollit el llenguatge AS3 amb Flash i Starling com a framework com a tecnologia amb la que comparar a la nativa per a dispositius amb iOS . I IOS APP : HI HA VIDA MÉS ENLLÀ DE XCODE Albert Alvarez Castell El proyecto está dirigido a comparar dos tecnologías diferentes con las que crearemos una misma aplicación.
    [Show full text]
  • Adobe Trademark Database for General Distribution
    Adobe Trademark List for General Distribution As of May 17, 2021 Please refer to the Permissions and trademark guidelines on our company web site and to the publication Adobe Trademark Guidelines for third parties who license, use or refer to Adobe trademarks for specific information on proper trademark usage. Along with this database (and future updates), they are available from our company web site at: https://www.adobe.com/legal/permissions/trademarks.html Unless you are licensed by Adobe under a specific licensing program agreement or equivalent authorization, use of Adobe logos, such as the Adobe corporate logo or an Adobe product logo, is not allowed. You may qualify for use of certain logos under the programs offered through Partnering with Adobe. Please contact your Adobe representative for applicable guidelines, or learn more about logo usage on our website: https://www.adobe.com/legal/permissions.html Referring to Adobe products Use the full name of the product at its first and most prominent mention (for example, “Adobe Photoshop” in first reference, not “Photoshop”). See the “Preferred use” column below to see how each product should be referenced. Unless specifically noted, abbreviations and acronyms should not be used to refer to Adobe products or trademarks. Attribution statements Marking trademarks with ® or TM symbols is not required, but please include an attribution statement, which may appear in small, but still legible, print, when using any Adobe trademarks in any published materials—typically with other legal lines such as a copyright notice at the end of a document, on the copyright page of a book or manual, or on the legal information page of a website.
    [Show full text]
  • Juegos Avanzados En La Nube
    INSTITUTO POLITÉCNICO NACIONAL ESCUELA SUPERIOR DE INGENIERA MECANICA Y ELECTRICA UNIDAD CULHUACÁN JUEGOS AVANZADOS EN LA NUBE EVOLUCIÓN DE LAS TELECOMUNICACIONES TESIS QUE PARA OBTENER EL TÍTULO DE INGENIERO EN COMPUTACIÓN PRESENTA: VENANCIO COLÓN ROBERTO ASESORES: DR. GABRIEL SANCHEZ PEREZ DR. GUALBERTO AGUILAR TORRES México, D.F. FEBRERO 2014 INSTITUTO POLITÉCNICO NACIONAL ESCUELA SUPERIOR DE INGENIERÍA MECÁNICA Y ELÉCTRICA UNIDAD CULHUACAN TESIS INDIVIDUAL Que como prueba escrita de su Examen Profesional para obtener el Título de Ingeniero en Computación, deberá desarrollar el C.: ROBERTO VENANCIO COLON “JUEGOS AVANZADOS EN LA NUBE, EVOLUCION DE LAS TELECOMUNICACIONES” La sociedad conectada, es como hoy en día se interactúa con otras personas a través del mundo, a través de muy variadas aplicaciones que demandan mejor calidad de servicio, portabilidad y accesibilidad en donde sea y como sea, en donde la experiencia del usuario requiere que no importando el dispositivo, se tenga el mismo despliegue de datos, video, voz; algo que en conjunto se puede ejemplificar en el entretenimiento, con los juegos, los cuales representan el mayor consumo de datos y requerimientos de sistema, el reto de las telecomunicaciones y de la computación en general hoy en día. En esta tesis se explican las nuevas tecnologías, tendencias en el consumo de datos, la calidad de servicios y evolución de diversos dispositivos para mantener una sociedad conectada, y permitir que la experiencia del usuario sea cada vez mayor y mejor, ejemplificando el uso de los juegos, su impacto mediático en la sociedad, con el ambiente, las nuevas posibilidades que abren a través del cómo de su desarrollo, integración y expectativas a mediano plazo.
    [Show full text]
  • Mixamo Animated 3D Avatars Go Social
    Adobe Gaming Success Story Mixamo Animated 3D avatars go social Game developers use Adobe® Flash® Professional and Stage3D APIs to launch animated 3D game on Renren, China’s leading Mixamo social network San Francisco, California www.mixamo.com Bending reality into three dimensions on a two-dimensional surface has transcended Results gaming consoles, saturated desktops and websites, and landed squarely in the land • Reached millions of users on China’s of social media. Now, social media enthusiasts with a penchant for games and a biggest social networking site love of motion graphics can customize and animate their own 3D avatars that play • Enabled 3D gamers to customize and animate avatars in minutes nicely with others on massive social media sites. • Reduced development time by 35% • Created unique workflow by A mass-market 3D social game was built by the game developers at Mixamo, providers of an online seamlessly integrating multiple animation service that allows users to automatically create and apply animations to characters in frameworks minutes. This project took the form of a browser-based, 3D animated game deployed on Renren, one of the biggest social network sites in China. The team at Mixamo took on this ambitious project—leveraging Adobe Flash Professional software and the advanced rendering capabilities that Stage3D APIs brings to Adobe Flash Player 11—and set out to create a unique holiday promotion for a major beverage brand. “Adobe Flash Professional, Adobe Flash Player 11, and Stage3D are without a doubt a great combination of solutions for creating browser-based games that can reach the widest possible audience without the need for a plug-in installer,” says Stefano Corazza, CEO and co-founder at Mixamo.
    [Show full text]
  • James Overton V Software Systems Engineer, Sensei, Inventrepreneur San Diego, CA | [email protected] | Senseijames.Com | [email protected] | (858) 568-3605
    James Overton V Software Systems Engineer, Sensei, Inventrepreneur San Diego, CA | [email protected] | senseijames.com | [email protected] | (858) 568-3605 Software craftsman; tech guru; interface designer; overachiever; asset in any work environment. I love working with those who share my vision and passion. AT A GLANCE: Software Engineering – Gaming, Application & Web Development: agile methods, Kaizen, and building scalable, robust systems Languages JavaScript / ES10 | TypeScript | HTML5 / CSS3 | ActionScript 3.0 | C / C++ Java | PHP | MXML | XML | UML Runtimes native, browser, Cordova, Flash platform (browser, AIR for desktop & mobile), Scaleform GFx player, JRE, Apache (WAMP/LAMP stacks), Tomcat Tools & Development IntelliJ, Eclipse IDE, Flash Authoring Environment, Flash Environments Builder, FlashDevelop, Sothink (SWF decompiler), Android Studio, DDMS, command line/terminal emulators, GCC, GDB, make, text editors (x/emacs/vi), Charles, version control (git, SVN, CVS, perforce) Frameworks & Angular (10), AngularJS, Ionic, Node.js, Vue, Flex SDK Libraries 4.8, AIR SDK 3.2, Starling, Nape, Android SDK, J2SE/EE, Java Server Pages, STL, Zend Framework, Jasmine Web Design – integrating function with design and appeal with clarity of vision in building interactive, standards compliant, cross-browser compatible web sites Languages HTML | CSS | JavaScript | ActionScript 3.0 | XML | JSON Tools Browser, Flash, DreamWeaver, Photoshop, Fireworks, FileZilla, text editor Sample work americaspharmacy.com | hohm.life/book | babysenses.me |
    [Show full text]
  • Adobe Creative Cloud for Enterprise Overview
    Requires Services New CS6 Since Creative Cloud for enterprise App Single Always have access to the latest Adobe creative apps, services, IT tools and enterprise support Apps All Apps, Services, and Features What it’s used for Adobe Photoshop Edit and composite images, use 3D tools, edit video, and perform advanced image analysis. • • Adobe Illustrator Create vector-based graphics for print, web, video, and mobile. • • Adobe InDesign Design professional layouts for print and digital publishing. • • Adobe Bridge Browse, organize and search your photos and design files in one central place. Design • Adobe Acrobat Pro Create, protect, sign, collaborate on, and print PDF documents. • Adobe Dreamweaver Design, develop, and maintain standards-based websites and applications. • • Web Adobe Animate Create interactive animations for multiple platforms. • • • Adobe Premiere Pro Edit video with high-performance, industry-leading editing suite. • • Adobe After Effects Create industry-standard motion graphics and visual effects. • • Adobe Audition Create, edit, and enhance audio for broadcast, video, and film. • • Adobe Prelude Streamline the import and logging of video, from any video format. • • • Video and audio and Video Adobe Media Encoder Automate the process of encoding video and audio to virtually any video or device format. • Exclusive Creative Cloud Apps (not available in Adobe Creative Suite) Adobe XD Design and prototype user experiences for websites, mobile apps and more. • • • • Adobe Dimension Composite high-quality, photorealistic images with 2D and 3D assets. • • • • Adobe Character Animator Animate your 2D characters in real time. • • Adobe InCopy Professional writing and editing solution that tightly integrates with Adobe InDesign. • • Adobe Lightroom Classic Organize, edit, and publish digital photographs.
    [Show full text]
  • Adobe Flash Professional for Ios Game Development a Feasible and Viable Alternative to Xcode?
    IT 14 028 Examensarbete 15 hp Juni 2014 Adobe Flash Professional for iOS Game Development A Feasible and Viable Alternative to Xcode? Leila Svantro Institutionen för informationsteknologi Department of Information Technology Abstract Adobe Flash Professional for iOS Game Development - a Feasible and Viable Alternative to Xcode? Leila Svantro Teknisk- naturvetenskaplig fakultet UTH-enheten The smartphone operating system iOS is the second highest ranked after Android. The apps in App Store and Google Play combined consist of 70-80 % games, which Besöksadress: are the primary entertainment applications. Many developers are learning game Ångströmlaboratoriet Lägerhyddsvägen 1 development or refreshing their skills to profit on this trend. The problem statements Hus 4, Plan 0 are: is it viable and feasible to use Adobe Flash Professional (AFP) for the iOS game development compared to Xcode and could AFP be used exclusively for iOS game Postadress: development? Information on both IDEs has been analyzed. Furthermore, Box 536 751 21 Uppsala implementations and code comparisons have been made. The results and analysis shows differences regarding expenses while possibilities for developing the same kind Telefon: of games essentially are equivalent. The conclusions are that AFP is a viable IDE for 018 – 471 30 03 iOS game development in the aspect of possibilities. It is not feasible on a long-term Telefax: basis when considering the expenses however it could be feasible on a short-term 018 – 471 30 00 basis depending on the developer’s requirements of extension and Mac OS for App Store publishing. AFP is not able to be used exclusively for the iOS game development Hemsida: if publishing to the App Store is a requirement however it is if publishing is restricted http://www.teknat.uu.se/student to single devices.
    [Show full text]
  • Adobe Apps for Education Images and Pictures
    Adobe Images and pictures › Figures and illustrations › Documents › Apps for Education Empowering students, educators, Portfolios and presentations › Productivity and collaboration › Apps › and administrators to express their creativity. Websites › Video and audio › Games › See page 11 for a glossary of Adobe apps. Adobe Apps for Education Images and pictures Images and pictures › Sample project Create Beginner Retouch photos on the fly Portfolio and presentations › Create an expressive drawing Websites › Make quick enhancements to photos Figures and illustrations › Learn five simple ways to enhance a photo Productivity and collaboration › Make a photo slide show Video and audio › Intermediate Make non-destructive edits in Camera Raw Edit and combine images to make creative compositions Documents › Shoot and edit a professional headshot Apps › Comp, preview, and build a mobile app design Games › Expert Create a 3D composition Adobe Apps for Education Portfolio and presentations Images and pictures › Sample project Create Beginner Convert a PowerPoint presentation into an interactive online presentation Portfolio and presentations › Create an oral history presentation Websites › Create a digital science fair report Figures and illustrations › Productivity and collaboration › Create a digital portfolio of course work Video and audio › Intermediate Create a self-paced interactive tutorial Documents › Create a slide presentation Apps › Expert Turn a publication into an ePub Games › Adobe Apps for Education Websites Images and pictures › Sample
    [Show full text]
  • V´Yvoj Hernıho Editoru Na Platformˇe Flash
    MASARYKOVA UNIVERZITA F}w¡¢£¤¥¦§¨ AKULTA INFORMATIKY !"#$%&'()+,-./012345<yA| Vyvoj´ hern´ıhoeditoru na platformˇeFlash DIPLOMOVA´ PRACE´ Bc. Martin Jakubec Brno, jaro 2014 Prohl´aˇsen´ı Prohlasuji,ˇ zeˇ tato diplomova´ prace´ je mym´ puvodn˚ ´ım autorskym´ d´ılem, ktere´ jsem vypracoval samostatne.ˇ Vsechnyˇ zdroje, prameny a literaturu, ktere´ jsem priˇ vypracovan´ ´ı pouzˇ´ıval nebo z nich cerpal,ˇ v praci´ rˇadn´ eˇ cituji s uveden´ım upln´ eho´ odkazu na prˇ´ıslusnˇ y´ zdroj. Vedouc´ıpr´ace: RNDr. Barbora Kozl´ıkova,´ Ph.D. ii Podˇekov´an´ı Rad´ bych podekovalˇ Ba´reˇ Kozl´ıkove´ za skvelˇ e´ veden´ı diplomove´ prace´ a za vsechenˇ cas,ˇ ktery´ mi venovala.ˇ Dale´ chci podekovatˇ Michalu Gab- rielovi za konzultace a odborne´ rady a celemu´ tymu´ CUKETA, s.r.o. za po- skytnut´ı zazem´ ´ı priˇ vyvoji´ hern´ıho editoru. iii Shrnut´ı C´ılem diplomove´ prace´ je navrhnout a implementovat jadro´ hern´ıho en- ginu a editoru pro konfiguraci hern´ıch mechanismu˚ na platformeˇ Flash. Hern´ı engine bude modularn´ ´ı, aby jej bylo moznˇ e´ rozsiˇ rovatˇ a vyuzˇ´ıvat pro ruzn˚ e´ typy her. Soucˇast´ ´ı prace´ bude ukazka´ hry nakonfigurovane´ v tomto editoru. V neposledn´ı radˇ eˇ se budu snazitˇ prezentovat prakticke´ zkusenostiˇ z vyvoje´ realn´ e´ hry. iv Kl´ıˇcov´aslova hern´ı editor, level editor, hern´ı engine, vyvoj´ her, Adobe Flash, game en- gine, Flash Player, hern´ı prumysl,˚ hern´ı navrh,´ game design v Obsah 1 Uvod´ ................................... 3 2 Historie hern´ıhopr ˚umyslu ...................... 5 2.1 50.–60. leta´ ............................. 5 2.2 60.–70.
    [Show full text]
  • The Starling Manual (Korean)
    차례 Starling 매뉴얼 1.1 1. 시작하기 1.2 1.1. 소개 1.3 1.2. Adobe AIR는 무엇입니까? 1.4 1.3. Starling이 뭐죠? 1.5 1.4. IDE 선택하기 1.6 1.5. 리소스(Resources) 1.7 1.6. 헬로월드(Hello World) 1.8 1.7. 요약 1.9 2. 기본 개념 1.10 2.1. Starling 구성 1.11 2.2. 디스플레이 프로그래밍 1.12 2.3. 텍스쳐와 이미지(Textures & Images) 1.13 2.4. 다이나믹 텍스트(Dynamic Text) 1.14 2.5. 이벤트 핸들링 1.15 2.6. 애니메이션 1.16 2.7. 애셋 관리(Asset Management) 1.17 2.8. 조각 필터(Fragment Filters) 1.18 2.9. 메쉬(Meshes) 1.19 2.10. 마스크(Masks) 1.20 2.11. 스프라이트 3D(Sprite3D) 1.21 2.12. 유틸리티(Utilities) 1.22 2.13. 요약 1.23 3. 고급 주제 1.24 3.1. ATF 텍스쳐 1.25 3.2. 컨텍스트 손실(Context Loss) 1.26 3.3. 메모리 관리 1.27 3.4. 퍼포먼스 최적화 1.28 3.5. 커스텀 필터 1.29 3.6. 커스텀 스타일 1.30 1 3.7. 거리 필드 렌더링(Distance Field Rendering) 1.31 3.8. 요약 1.32 4. 모바일 개발 1.33 4.1. 다중 해상도 개발 1.34 4.2. 기기 회전(Device Rotation) 1.35 4.3. 요약 1.36 5. 마지막 드리는 말씀 1.37 2 Starling 매뉴얼 이 매뉴얼의 목적은 광범위한 Starling Framework에 대해 최대한 자세하게 소개하는 것입니다. Starling은 2D 게임에 중점을 둔, 모든 종류의 애플리케이션에 사용할 수 있는 ActionScript 3 용 크로스플랫폼 엔진입니다.
    [Show full text]
  • Play Your Song 29
    Sami Reinilä Audio Signal Processing for a Game Environ- ment Translating Audio Into a Playable Experience Helsinki Metropolia University of Applied Sciences Master of Engineering Information Technology 11 May 2013 Abstract Author(s) Sami Reinilä Title Audio signal processing for a game environment – translating audio into a playable experience Number of Pages 87 pages + 1 appendices Date 11 May 2013 Degree Master of Engineering Degree Programme Information Technology Specialisation option Media Engineering Instructor(s) Jarkko Vuori, Principal Lecturer The purpose of the thesis was to analyze the digital audio signal, and turn it into a playable experience creating a new way of consuming and enjoying music. The end result was a game using audio signal as its main source of input for generating playable content. In the thesis audio signal analysis methods and signal characteristics were examined: how audio is processed and analyzed. It also examined and compared the possibilities of real- time audio signal processing and pre-calculated audio signal processing. It showed how to generate events from existing audio signals concentrating on audio music track analysis and processing. Several ways of combining and transforming audio signals into events for the game engine were implemented. As a generalization game engines work primarily based on events. Events are generated by the players, and by the game environment with the variables programmed into its state machine. The thesis focused on audio events while briefly exploring other game events. It was shown that by turning audio events into game events it is possible to create several types of actions where audio is used inside the game.
    [Show full text]