IOS PERFORMANCE. Getting the most out of your Games and Apps

Size: px
Start display at page:

Download "IOS PERFORMANCE. Getting the most out of your Games and Apps"

Transcription

1 IOS PERFORMANCE Getting the most out of your Games and Apps

2 AGENDA Intro to Performance The top 10 optimizations for your games and apps Instruments & Example Q&A

3 WHO AM I? Founder of Prop Group Background in enterprise software, now iphone+ipad games! 2D physics game, Payload in the AppStore

4 In Progress...

5 SPACE VIKING GAME Learn how to build the Space Viking Game!

6 WHY CARE ABOUT PERFORMANCE? Better Performance = Better experience and responsiveness to the user Less battery use Headroom for additional features

7 POP QUIZ! What is the slowest (non-network) hardware subsystem/ component on ios Devices? What is the 2nd slowest? (Hint: They are both battery hogs) Answer: Flash Memory (storage) and RAM

8 IT S ALL ABOUT THE MEMORY On iphone 3GS for example: L1 Cache ~ 1 CPU Cycle L2 Cache ~ 10 CPU Cycles Normal RAM ~ 80 Cycles Addition ~ 3 Cycles

9 TIP #1 IMAGE BIT DEPTH Images are stored in RAM decompressed (Length X Width X Bit Depth )/8 = Bytes in RAM Example: Black 1024x1024 image, saves as a 25K PNG file (1024x1024x32)/8 = 4.1 Megabytes!

10 TIP #1CONTINUED Use the lowest bit depth you can. Less bits per pixel = less memory = faster game Set the CCTexture2D default format before loading [CCTexture2D setdefaultalphapixelformat:kcctexture2dpixelformat_rgba4444]; You can change the CCTexture2D format anytime

11 TIP #2 USE SPRITE SHEETS Use tightly packed Sprite Sheets via the CCSpriteBatchNode Reduce your OpenGL ES texture binds from many calls to 1 Easy to create using TexturePacker or Zwoptex Less Texture Memory = Better Performance

12 PERF TIP #2 (CONTINUED) USE SPRITE SHEETS

13 PERFORMANCE TIP #2 CONTINUED

14 SPRITE SHEETS EXAMPLE

15 HOW DO WE GET TO THIS?

16 BACKGROUND

17 BACKGROUND ANIMATIONS

18 TRUCK & CONTROLS

19 HOW MANY BIND CALLS?

20 SPRITE SHEETS CCSpriteBatchNode - collection of CCSprites from a Sprite Sheet, OpenGL ES draw calls batched Support for using Zwoptex Sprite Sheets/Texture Atlas

21 TIP #3 REDUCE, RE-USE, RECYCLE Re-Use your CCSprites, and other Cocos2D Objects. If you have a set number of characters/sprites, allocate them at initialization time

22 TIP #4 AUDIO FORMATS/LOADING Load audio in a background thread, or during an intro sequence. Preload it before you need it. Take care of mp3 hardware decoder, send the background track first (or your largest mp3 file)

23 TIP #5 THUMB SUPPORT Thumb, turn it OFF for Armv6, and ON for Armv7 Thumb on Armv6 has NO floating point support. MapKit uses a ton of floating point!

24 TIP #6 COCOS2D TEXT LABELS CCLabelTTF is... super slow - creates a new texture every time you change the text. (Hint: This is Bad Bad Bad) Use CCLabelBMFont instead Create your font atlases in Glyph Designer or Hiero

25 TIP #7 USE THE SCHEDULER Never update in -(void)draw Use [self scheduleupdate] -(void)update:(cctime)deltatime method called on every frame Update Driven by CADisplayLink Render

26 TIP #8 LIMIT PARTICLE SYSTEMS SIZE Remember ios Device!= Mac Re-Use particle systems instead of re-creating every time you need it Test on the actual device

27 TIP #9 MEMORY WARNINGS Respond to memory warnings. What can you unload? (Animations, sound effects, textures) Call CCTextureCache, to purge the textures after you dealloc your scene. [[CCTextureCache sharedtexturecache] removeunusedtextures];

28 TIP #10 PROFILE YOUR APP Profile early and often Find your bottlenecks and focus on the biggest issues Don t optimize prematurely Leaks in the Simulator, everything else on the actual device!

29 WWDC 2011 INSTRUMENTS SESSIONS Session What s New with Instruments Session ios Performance and Power Optimization Session Tools for Tuning OpenGL ES Apps on ios

30 WWDC 2010 INSTRUMENTS SESSIONS Session What s New with Instruments Session Advanced Performance Analysis with Instruments Session Advanced Memory Analysis with Instruments Session Automating User Interface Testing with Instruments

31 INSTRUMENTS EXAMPLE Ole the Viking versus Space Debris Tons of falling debris, lots of elements on the screen Similar to space shooters, side scrollers, and tower defense games

32 SPACE VIKING + SPACE DEBRIS

33 1100 CCSPRITES - NO CCSPRITEBATCHNODE IPHONE 4 (18FPS)

34 WHAT ABOUT A TEXTURE ATLAS?

35 1100 CCSPRITES - 1CCSPRITEBATCHNODE IPHONE 4 (40FPS)

36 CCSPRITES VS CCSPRITEBATCHNODE CPU Utilization for drawing sprites went down: 58% to 17% Frame rate doubled: 18FPS to 40FPS But...

37 SPRITE RE-USE Each time a debris CCSprite reached the ground it was removed (dealloc) and a new one was created (alloc) Why not just re-position it and reuse it?

38 1100 CCSPRITES - 1CCSPRITEBATCHNODE IPHONE 4 (60FPS)

39 CCSPRITEBATCHNODE AND REUSE CPU Utilization for drawing sprites went down: 58% to 17% to 0.3% Frame rate increase: 18FPS to 40FPS to 60 FPS

40 ONE MORE THING...

41 BATCH YOUR ACCELEROMETER DATA Store the data in an array, don t do anything else with it on the callback Process the accelerometer updates (array) on the -update call before each frame is rendered.

42 COMBINE LIKE TASKS Think about what you can calculate together instead of 1 at a time AI/Enemy Logic, Collisions? Can you partition and only calculate what is needed? Use ScheduleWithPriority to control update callback order

43 MORE DETAILS ON THE BLOG

44 THANK YOU twitter.com/rodstrougo

INTRO TO COCOS2D. 360iDev 2011

INTRO TO COCOS2D. 360iDev 2011 INTRO TO COCOS2D 360iDev 2011 ABOUT US Ray: @rwenderlich Rod: @rodstrougo Founder of Razeware www.razeware.com Founder of Prop Group www.prop.gr Writes ios tutorials at www.raywenderlich.com 6 apps in

More information

the gamedesigninitiative at cornell university Lecture 13 Memory Management

the gamedesigninitiative at cornell university Lecture 13 Memory Management Lecture 13 Take-Aways for Today Why does memory in games matter? Is re a difference between PC and mobile? Where do consoles fit in all this? Do we need to worry about it in Java? Java has garbage collection

More information

the gamedesigninitiative at cornell university Lecture 10 Memory Management

the gamedesigninitiative at cornell university Lecture 10 Memory Management Lecture 10 Gaming Memory (Current Generation) Playstation 4 8 GB RAM (unified) X-Box One (X) 12 GB RAM (unified) 9 GB for games Nintendo Switch 3 GB RAM (unified) 1 GB only for OS iphone/ipad 2 GB RAM

More information

The Application Stage. The Game Loop, Resource Management and Renderer Design

The Application Stage. The Game Loop, Resource Management and Renderer Design 1 The Application Stage The Game Loop, Resource Management and Renderer Design Application Stage Responsibilities 2 Set up the rendering pipeline Resource Management 3D meshes Textures etc. Prepare data

More information

Real - Time Rendering. Pipeline optimization. Michal Červeňanský Juraj Starinský

Real - Time Rendering. Pipeline optimization. Michal Červeňanský Juraj Starinský Real - Time Rendering Pipeline optimization Michal Červeňanský Juraj Starinský Motivation Resolution 1600x1200, at 60 fps Hw power not enough Acceleration is still necessary 3.3.2010 2 Overview Application

More information

Optimizing and Profiling Unity Games for Mobile Platforms. Angelo Theodorou Senior Software Engineer, MPG Gamelab 2014, 25 th -27 th June

Optimizing and Profiling Unity Games for Mobile Platforms. Angelo Theodorou Senior Software Engineer, MPG Gamelab 2014, 25 th -27 th June Optimizing and Profiling Unity Games for Mobile Platforms Angelo Theodorou Senior Software Engineer, MPG Gamelab 2014, 25 th -27 th June 1 Agenda Introduction ARM and the presenter Preliminary knowledge

More information

Mobile Performance Tools and GPU Performance Tuning. Lars M. Bishop, NVIDIA Handheld DevTech Jason Allen, NVIDIA Handheld DevTools

Mobile Performance Tools and GPU Performance Tuning. Lars M. Bishop, NVIDIA Handheld DevTech Jason Allen, NVIDIA Handheld DevTools Mobile Performance Tools and GPU Performance Tuning Lars M. Bishop, NVIDIA Handheld DevTech Jason Allen, NVIDIA Handheld DevTools NVIDIA GoForce5500 Overview World-class 3D HW Geometry pipeline 16/32bpp

More information

Memory Management: High-Level Overview

Memory Management: High-Level Overview Lecture 9 : High-Level Overview Gaming Memory (Last Generation) Playstation 3 256 MB RAM for system 256 MB for graphics card X-Box 360 512 MB RAM (unified) Nintendo Wii 88 MB RAM (unified) 24 MB for graphics

More information

Copyright Khronos Group, Page Graphic Remedy. All Rights Reserved

Copyright Khronos Group, Page Graphic Remedy. All Rights Reserved Avi Shapira Graphic Remedy Copyright Khronos Group, 2009 - Page 1 2004 2009 Graphic Remedy. All Rights Reserved Debugging and profiling 3D applications are both hard and time consuming tasks Companies

More information

Working with Metal Overview

Working with Metal Overview Graphics and Games #WWDC14 Working with Metal Overview Session 603 Jeremy Sandmel GPU Software 2014 Apple Inc. All rights reserved. Redistribution or public display not permitted without written permission

More information

ArcGIS Runtime: Maximizing Performance of Your Apps. Will Jarvis and Ralf Gottschalk

ArcGIS Runtime: Maximizing Performance of Your Apps. Will Jarvis and Ralf Gottschalk ArcGIS Runtime: Maximizing Performance of Your Apps Will Jarvis and Ralf Gottschalk Agenda ArcGIS Runtime Version 100.0 Architecture How do we measure performance? We will use our internal Runtime Core

More information

the gamedesigninitiative at cornell university Lecture 12 Scene Graphs

the gamedesigninitiative at cornell university Lecture 12 Scene Graphs Lecture 12 Aside: When Do We Load Assets? Main Application Application Start-up Level Load GameMode GameMode Models Scene Choice affects design Models Scene & ownership of asset manager 2 Drawing in CUGL

More information

Optimizing Your Android Applications

Optimizing Your Android Applications Optimizing Your Android Applications Alexander Nelson November 27th, 2017 University of Arkansas - Department of Computer Science and Computer Engineering The Problem Reminder Immediacy and responsiveness

More information

Optimizing DirectX Graphics. Richard Huddy European Developer Relations Manager

Optimizing DirectX Graphics. Richard Huddy European Developer Relations Manager Optimizing DirectX Graphics Richard Huddy European Developer Relations Manager Some early observations Bear in mind that graphics performance problems are both commoner and rarer than you d think The most

More information

Apple Watch Design Tips and Tricks

Apple Watch Design Tips and Tricks Design #WWDC15 Apple Watch Design Tips and Tricks Session 805 Mike Stern User Experience Evangelist Rachel Roth User Experience Evangelist 2015 Apple Inc. All rights reserved. Redistribution or public

More information

Optimizing for DirectX Graphics. Richard Huddy European Developer Relations Manager

Optimizing for DirectX Graphics. Richard Huddy European Developer Relations Manager Optimizing for DirectX Graphics Richard Huddy European Developer Relations Manager Also on today from ATI... Start & End Time: 12:00pm 1:00pm Title: Precomputed Radiance Transfer and Spherical Harmonic

More information

the gamedesigninitiative at cornell university Lecture 6 Scene Graphs

the gamedesigninitiative at cornell university Lecture 6 Scene Graphs Lecture 6 Structure of a CUGL Application Main Application Scene Scene Models Root Models Root 2 Structure of a CUGL Application Main App Configuration Application Memory policy (future lecture) Scene

More information

Game Programming with. presented by Nathan Baur

Game Programming with. presented by Nathan Baur Game Programming with presented by Nathan Baur What is libgdx? Free, open source cross-platform game library Supports Desktop, Android, HTML5, and experimental ios support available with MonoTouch license

More information

Understanding M3G 2.0 and its Effect on Producing Exceptional 3D Java-Based Graphics. Sean Ellis Consultant Graphics Engineer ARM, Maidenhead

Understanding M3G 2.0 and its Effect on Producing Exceptional 3D Java-Based Graphics. Sean Ellis Consultant Graphics Engineer ARM, Maidenhead Understanding M3G 2.0 and its Effect on Producing Exceptional 3D Java-Based Graphics Sean Ellis Consultant Graphics Engineer ARM, Maidenhead Introduction M3G 1.x Recap ARM M3G Integration M3G 2.0 Update

More information

Direct3D API Issues: Instancing and Floating-point Specials. Cem Cebenoyan NVIDIA Corporation

Direct3D API Issues: Instancing and Floating-point Specials. Cem Cebenoyan NVIDIA Corporation Direct3D API Issues: Instancing and Floating-point Specials Cem Cebenoyan NVIDIA Corporation Agenda Really two mini-talks today Instancing API Usage Performance / pitfalls Floating-point specials DirectX

More information

PowerVR Performance Recommendations The Golden Rules. October 2015

PowerVR Performance Recommendations The Golden Rules. October 2015 PowerVR Performance Recommendations The Golden Rules October 2015 Paul Ly Developer Technology Engineer, PowerVR Graphics Understanding Your Bottlenecks Based on our experience 3 The Golden Rules 1. The

More information

DX10, Batching, and Performance Considerations. Bryan Dudash NVIDIA Developer Technology

DX10, Batching, and Performance Considerations. Bryan Dudash NVIDIA Developer Technology DX10, Batching, and Performance Considerations Bryan Dudash NVIDIA Developer Technology The Point of this talk The attempt to combine wisdom and power has only rarely been successful and then only for

More information

PERFORMANCE. Rene Damm Kim Steen Riber COPYRIGHT UNITY TECHNOLOGIES

PERFORMANCE. Rene Damm Kim Steen Riber COPYRIGHT UNITY TECHNOLOGIES PERFORMANCE Rene Damm Kim Steen Riber WHO WE ARE René Damm Core engine developer @ Unity Kim Steen Riber Core engine lead developer @ Unity OPTIMIZING YOUR GAME FPS CPU (Gamecode, Physics, Skinning, Particles,

More information

COPYRIGHTED MATERIAL. 1Hello ios! A Suitable Mac. ios Developer Essentials

COPYRIGHTED MATERIAL. 1Hello ios! A Suitable Mac. ios Developer Essentials 1Hello ios! Hello and welcome to the exciting world of ios application development. ios is Apple s operating system for mobile devices; the current version as of writing this book is 5.0. It was originally

More information

Introducing Metal 2. Graphics and Games #WWDC17. Michal Valient, GPU Software Engineer Richard Schreyer, GPU Software Engineer

Introducing Metal 2. Graphics and Games #WWDC17. Michal Valient, GPU Software Engineer Richard Schreyer, GPU Software Engineer Session Graphics and Games #WWDC17 Introducing Metal 2 601 Michal Valient, GPU Software Engineer Richard Schreyer, GPU Software Engineer 2017 Apple Inc. All rights reserved. Redistribution or public display

More information

Mobile HW and Bandwidth

Mobile HW and Bandwidth Your logo on white Mobile HW and Bandwidth Andrew Gruber Qualcomm Technologies, Inc. Agenda and Goals Describe the Power and Bandwidth challenges facing Mobile Graphics Describe some of the Power Saving

More information

Bringing AAA graphics to mobile platforms. Niklas Smedberg Senior Engine Programmer, Epic Games

Bringing AAA graphics to mobile platforms. Niklas Smedberg Senior Engine Programmer, Epic Games Bringing AAA graphics to mobile platforms Niklas Smedberg Senior Engine Programmer, Epic Games Who Am I A.k.a. Smedis Platform team at Epic Games Unreal Engine 15 years in the industry 30 years of programming

More information

Direct3D 11 Performance Tips & Tricks

Direct3D 11 Performance Tips & Tricks Direct3D 11 Performance Tips & Tricks Holger Gruen Cem Cebenoyan AMD ISV Relations NVIDIA ISV Relations Agenda Introduction Shader Model 5 Resources and Resource Views Multithreading Miscellaneous Q&A

More information

Building mobile app using Cordova and AngularJS, common practices. Goran Kopevski

Building mobile app using Cordova and AngularJS, common practices. Goran Kopevski Building mobile app using Cordova and AngularJS, common practices Goran Kopevski Agenda What is cordova? How to choose proper JS framework Building mobile app using Cordova and AngularJS Common fails,

More information

Mali Developer Resources. Kevin Ho ARM Taiwan FAE

Mali Developer Resources. Kevin Ho ARM Taiwan FAE Mali Developer Resources Kevin Ho ARM Taiwan FAE ARM Mali Developer Tools Software Development SDKs for OpenGL ES & OpenCL OpenGL ES Emulators Shader Development Studio Shader Library Asset Creation Texture

More information

Compressing loads of content into only 20mb

Compressing loads of content into only 20mb Compressing loads of content into only 20mb A case study through Swords & Soldiers for WiiWareTM Joost van Dongen What's to come Introduction Texture compression Text compression Audio Executable size

More information

Tips and Tricks: Designing low power Native and WebApps. Harita Chilukuri and Abhishek Dhanotia

Tips and Tricks: Designing low power Native and WebApps. Harita Chilukuri and Abhishek Dhanotia Tips and Tricks: Designing low power Native and WebApps Harita Chilukuri and Abhishek Dhanotia Acknowledgements William Baughman for his help with the browser analysis Ross Burton & Thomas Wood for information

More information

Profiling and Debugging Games on Mobile Platforms

Profiling and Debugging Games on Mobile Platforms Profiling and Debugging Games on Mobile Platforms Lorenzo Dal Col Senior Software Engineer, Graphics Tools Gamelab 2013, Barcelona 26 th June 2013 Agenda Introduction to Performance Analysis with ARM DS-5

More information

Computer Games 2014 Selected Game Engines

Computer Games 2014 Selected Game Engines Computer Games 2014 Selected Game Engines Dr. Mathias Lux Klagenfurt University This work is licensed under the Creative Commons Attribution-NonCommercial-ShareAlike 3.0 pixi.js Web based rendering engine

More information

TSBK 07! Computer Graphics! Ingemar Ragnemalm, ISY

TSBK 07! Computer Graphics! Ingemar Ragnemalm, ISY 1(46) Information Coding / Computer Graphics, ISY, LiTH TSBK 07 Computer Graphics Ingemar Ragnemalm, ISY 1(46) TSBK07 Computer Graphics Spring 2017 Course leader/examiner/lecturer: Ingemar Ragnemalm ingis@isy.liu.se

More information

ios Memory Deep Dive #WWDC18 Kyle Howarth, Software Engineer James Snee, Software Engineer Kris Markel, Software Engineer

ios Memory Deep Dive #WWDC18 Kyle Howarth, Software Engineer James Snee, Software Engineer Kris Markel, Software Engineer Session #WWDC18 ios Memory Deep Dive 416 Kyle Howarth, Software Engineer James Snee, Software Engineer Kris Markel, Software Engineer 2018 Apple Inc. All rights reserved. Redistribution or public display

More information

Best practices for effective OpenGL programming. Dan Omachi OpenGL Development Engineer

Best practices for effective OpenGL programming. Dan Omachi OpenGL Development Engineer Best practices for effective OpenGL programming Dan Omachi OpenGL Development Engineer 2 What Is OpenGL? 3 OpenGL is a software interface to graphics hardware - OpenGL Specification 4 GPU accelerates rendering

More information

Raise your VR game with NVIDIA GeForce Tools

Raise your VR game with NVIDIA GeForce Tools Raise your VR game with NVIDIA GeForce Tools Yan An Graphics Tools QA Manager 1 Introduction & tour of Nsight Analyze a geometry corruption bug VR debugging AGENDA System Analysis Tracing GPU Range Profiling

More information

Marmalade SDK FAQ v1.02

Marmalade SDK FAQ v1.02 Marmalade SDK FAQ v1.02 Produced and maintained by Mat Hopwood http://www.drmop.com For the latest version of thsi FAQ please check out http://www.drmop.com Welcome to the Marmalade SDK developers FAQ.

More information

Sprite Animix. Content. Sprite Animix Version 1.0

Sprite Animix. Content. Sprite Animix Version 1.0 Sprite Animix Content Overview... 2 Usage... 3 Create an animation atlas out of a directory... 3 Create an animation atlas with custom file input... 8 Packing Layout... 14 Horizontal (Rows)... 14 Vertical

More information

Streaming Massive Environments From Zero to 200MPH

Streaming Massive Environments From Zero to 200MPH FORZA MOTORSPORT From Zero to 200MPH Chris Tector (Software Architect Turn 10 Studios) Turn 10 Internal studio at Microsoft Game Studios - we make Forza Motorsport Around 70 full time staff 2 Why am I

More information

Animation Essentially a question of flipping between many still images, fast enough

Animation Essentially a question of flipping between many still images, fast enough 33(70) Information Coding / Computer Graphics, ISY, LiTH Animation Essentially a question of flipping between many still images, fast enough 33(70) Animation as a topic Page flipping, double-buffering

More information

Computer Hardware. ICS2O Mr. Emmell

Computer Hardware. ICS2O Mr. Emmell Computer Hardware ICS2O Mr. Emmell How much space on your USB? How much RAM in your phone? How much data can a BluRay hold? That whole B/KB/MB/GB/TB thing That whole B/KB/MB/GB/TB thing So how many Bytes

More information

CSEE 4840 Embedded System Battle City. Tian Chu Huangfu Quan Yuan Liuxun Zhu Tianchen Li

CSEE 4840 Embedded System Battle City. Tian Chu Huangfu Quan Yuan Liuxun Zhu Tianchen Li CSEE 4840 Embedded System Battle City Tian Chu Huangfu Quan Yuan Liuxun Zhu Tianchen Li Overview Game play One player Three stages (more can be easily added) Two modes: easy (E) and crazy (C) Keyboard

More information

Game Development for

Game Development for Game Development for Who am I? Harry Krueger Senior Programmer at Housemarque Games Lead Programmer on Resogun Presentation Flow Intro to Housemarque and Resogun Housemarque Engine and Tools Platform-specific

More information

the gamedesigninitiative at cornell university Lecture 15 Game Audio

the gamedesigninitiative at cornell university Lecture 15 Game Audio Lecture 15 The Role of Audio in Games Engagement Entertains player Music/Soundtrack Enhances realism Sound effects Establishes atmosphere Ambient sounds Or reasons? 2 The Role of Audio in Games Feedback

More information

Working with Images and Multimedia

Working with Images and Multimedia CHAPTER Working with Images and Multimedia You can make your web page more interesting by adding multimedia elements. You can download the files featured in this chapter from www.digitalfamily.com/tyv.

More information

OpenGL ES for iphone Games. Erik M. Buck

OpenGL ES for iphone Games. Erik M. Buck OpenGL ES for iphone Games Erik M. Buck Topics The components of a game n Technology: Graphics, sound, input, physics (an engine) n Art: The content n Fun: That certain something (a mystery) 2 What is

More information

Coding OpenGL ES 3.0 for Better Graphics Quality

Coding OpenGL ES 3.0 for Better Graphics Quality Coding OpenGL ES 3.0 for Better Graphics Quality Part 2 Hugo Osornio Rick Tewell A P R 1 1 t h 2 0 1 4 TM External Use Agenda Exercise 1: Array Structure vs Vertex Buffer Objects vs Vertex Array Objects

More information

What s New in SpriteKit

What s New in SpriteKit Graphics and Games #WWDC16 What s New in SpriteKit Session 610 Ross Dexter Games Technologies Engineer Clément Boissière Games Technologies Engineer 2016 Apple Inc. All rights reserved. Redistribution

More information

Under The Hood: Performance Tuning With Tizen. Ravi Sankar Guntur

Under The Hood: Performance Tuning With Tizen. Ravi Sankar Guntur Under The Hood: Performance Tuning With Tizen Ravi Sankar Guntur How to write a Tizen App Tools already available in IDE v2.3 Dynamic Analyzer Valgrind 2 What s NEXT? Want to optimize my application App

More information

More frames per second. Alex Kan and Jean-François Roy GPU Software

More frames per second. Alex Kan and Jean-François Roy GPU Software More frames per second Alex Kan and Jean-François Roy GPU Software 2 OpenGL ES Analyzer Tuning the graphics pipeline Analyzer demo 3 Developer preview Jean-François Roy GPU Software Developer Technologies

More information

Profiling & Optimization

Profiling & Optimization Lecture 11 Sources of Game Performance Issues? 2 Avoid Premature Optimization Novice developers rely on ad hoc optimization Make private data public Force function inlining Decrease code modularity removes

More information

Building scalable 3D applications. Ville Miettinen Hybrid Graphics

Building scalable 3D applications. Ville Miettinen Hybrid Graphics Building scalable 3D applications Ville Miettinen Hybrid Graphics What s going to happen... (1/2) Mass market: 3D apps will become a huge success on low-end and mid-tier cell phones Retro-gaming New game

More information

Michal Valient Lead Tech Guerrilla Games

Michal Valient Lead Tech Guerrilla Games Michal Valient Lead Tech Guerrilla Games Intro Guerrilla is based in Amsterdam and we re part of Sony since 2005 We re working on two titles Unannounced new IP Killzone: Shadow Fall The new Killzone is

More information

Whiz-Bang Graphics and Media Performance for Java Platform, Micro Edition (JavaME)

Whiz-Bang Graphics and Media Performance for Java Platform, Micro Edition (JavaME) Whiz-Bang Graphics and Media Performance for Java Platform, Micro Edition (JavaME) Pavel Petroshenko, Sun Microsystems, Inc. Ashmi Bhanushali, NVIDIA Corporation Jerry Evans, Sun Microsystems, Inc. Nandini

More information

FlashtoUnity Monday, October 7 th, Flash to Unity User s Manual

FlashtoUnity Monday, October 7 th, Flash to Unity User s Manual Flash to Unity User s Manual Wednesday, August 28, 2013 Abstract: The following document is a user s manual for Flash to Unity, which is a tool that allows transforming flash animations Flash animations

More information

LECTURE 5. Announcements

LECTURE 5. Announcements LECTURE 5 Announcements Falling Behind? Talk to us You still pass the class if you hand in all projects at the end of the semester Hand in even if you think you won t satisfy the playtesting requirements

More information

Starling Insider Tips

Starling Insider Tips Daniel Sperl Starling Insider Tips Consistent Game Development across all Platforms About me Daniel Sperl studied Media Technology and -Design at the Upper Austria University of Applied Sciences worked

More information

Introducing On Demand Resources

Introducing On Demand Resources App Frameworks #WWDC15 Introducing On Demand Resources An element of App Thinning Session 214 Steve Lewallen Frameworks Engineering Tony Parker Cocoa Frameworks 2015 Apple Inc. All rights reserved. Redistribution

More information

Developing Applications for ios

Developing Applications for ios Developing Applications for ios Lecture 1: Mobile Applications Development Radu Ionescu raducu.ionescu@gmail.com Faculty of Mathematics and Computer Science University of Bucharest Evaluation Individual

More information

Designing for Performance. Arseny Kapoulkine

Designing for Performance. Arseny Kapoulkine Designing for Performance Arseny Kapoulkine Who I Am Arseny Kapoulkine zeuxcg Agenda Memory & performance: why should you care? Analysis tools New & upcoming performance features Deep dive: rendering,

More information

GROW-IT. Plug-in for Daz3D Studio

GROW-IT. Plug-in for Daz3D Studio GROW-IT Plug-in for Daz3D Studio About A Daz3D plug-in to create 3D animate landscapes for films, cartoons, 2D/3D games and static scene. Other ideas such as wedding-trees where the guest put a finger

More information

Godot engine Documentation

Godot engine Documentation Godot engine Documentation Release 1.1 authorname Apr 22, 2017 Contents i ii Godot engine Documentation, Release 1.1 Introduction Welcome to the Godot Engine documentation center. The aim of these pages

More information

Tuesday 6th October Agenda

Tuesday 6th October Agenda Dacorum U3A Apple Mac Users Group Tuesday 6th October 2015 Agenda Cleanup and Housekeeping your Mac & IOS Device - Remove old files, recover lost space, remove Trash and left over Apps. Agenda Identify

More information

Unity Game Development

Unity Game Development Unity Game Development 1. Introduction to Unity Getting to Know the Unity Editor The Project Dialog The Unity Interface The Project View The Hierarchy View The Inspector View The Scene View The Game View

More information

Low-Overhead Rendering with Direct3D. Evan Hart Principal Engineer - NVIDIA

Low-Overhead Rendering with Direct3D. Evan Hart Principal Engineer - NVIDIA Low-Overhead Rendering with Direct3D Evan Hart Principal Engineer - NVIDIA Ground Rules No DX9 Need to move fast Big topic in 30 minutes Assuming experienced audience Everything is a tradeoff These are

More information

Performance OpenGL Programming (for whatever reason)

Performance OpenGL Programming (for whatever reason) Performance OpenGL Programming (for whatever reason) Mike Bailey Oregon State University Performance Bottlenecks In general there are four places a graphics system can become bottlenecked: 1. The computer

More information

UberFlow: A GPU-Based Particle Engine

UberFlow: A GPU-Based Particle Engine UberFlow: A GPU-Based Particle Engine Peter Kipfer Mark Segal Rüdiger Westermann Technische Universität München ATI Research Technische Universität München Motivation Want to create, modify and render

More information

Computer Games 2012 Game Development

Computer Games 2012 Game Development Computer Games 2012 Game Development Dr. Mathias Lux Klagenfurt University This work is licensed under the Creative Commons Attribution-NonCommercial-ShareAlike 3.0 Agenda Game Loop Sprites & 2.5D Images

More information

How to use the ruler, grid, guides, and the Align panel

How to use the ruler, grid, guides, and the Align panel How to use the ruler, grid, guides, and the Align panel Much of your job as a page designer is to place text and graphics on the page in a pleasing, organized way. Although you can do much of this placing

More information

LPGPU Workshop on Power-Efficient GPU and Many-core Computing (PEGPUM 2014)

LPGPU Workshop on Power-Efficient GPU and Many-core Computing (PEGPUM 2014) A practitioner s view of challenges faced with power and performance on mobile GPU Prashant Sharma Samsung R&D Institute UK LPGPU Workshop on Power-Efficient GPU and Many-core Computing (PEGPUM 2014) SERI

More information

Metal for Ray Tracing Acceleration

Metal for Ray Tracing Acceleration Session #WWDC18 Metal for Ray Tracing Acceleration 606 Sean James, GPU Software Engineer Wayne Lister, GPU Software Engineer 2018 Apple Inc. All rights reserved. Redistribution or public display not permitted

More information

Three OPTIMIZING. Your System for Photoshop. Tuning for Performance

Three OPTIMIZING. Your System for Photoshop. Tuning for Performance Three OPTIMIZING Your System for Photoshop Tuning for Performance 72 Power, Speed & Automation with Adobe Photoshop This chapter goes beyond speeding up how you can work faster in Photoshop to how to make

More information

Spring 2011 Prof. Hyesoon Kim

Spring 2011 Prof. Hyesoon Kim Spring 2011 Prof. Hyesoon Kim Application Geometry Rasterizer CPU Each stage cane be also pipelined The slowest of the pipeline stage determines the rendering speed. Frames per second (fps) Executes on

More information

Optimization Tips 杜博, 美国高通公司资深工程师

Optimization Tips 杜博, 美国高通公司资深工程师 Optimization Tips 杜博, 美国高通公司资深工程师 Rendering Optimizations 1. Render fewer pixels 2. Reduce Draw Calls 3. Reduce Bandwidth Usage 4. Optimize Frame Buffer Object usage 5. Optimize Vertex Buffer Object usage

More information

Profiling & Optimization

Profiling & Optimization Lecture 18 Sources of Game Performance Issues? 2 Avoid Premature Optimization Novice developers rely on ad hoc optimization Make private data public Force function inlining Decrease code modularity removes

More information

NVIDIA Parallel Nsight. Jeff Kiel

NVIDIA Parallel Nsight. Jeff Kiel NVIDIA Parallel Nsight Jeff Kiel Agenda: NVIDIA Parallel Nsight Programmable GPU Development Presenting Parallel Nsight Demo Questions/Feedback Programmable GPU Development More programmability = more

More information

AN INTRODUCTION TO SCRATCH (2) PROGRAMMING

AN INTRODUCTION TO SCRATCH (2) PROGRAMMING AN INTRODUCTION TO SCRATCH (2) PROGRAMMING Document Version 2 (04/10/2014) INTRODUCTION SCRATCH is a visual programming environment and language. It was launched by the MIT Media Lab in 2007 in an effort

More information

ARCHITECTURE FOR CASUAL GAMES

ARCHITECTURE FOR CASUAL GAMES ARCHITECTURE FOR CASUAL GAMES How to finish coding a game without despising it. Keith Peters BIT-101 / Wicked Pissah Games Great Idea! Complete (or not...) Prototype/ Proof of Concept Pain and Suffering

More information

February 18, Nintendo. Bob Rost January 14, 2004

February 18, Nintendo. Bob Rost January 14, 2004 98-026 Nintendo Bob Rost January 14, 2004 Today Project Status Announcements Backgrounds PPU control registers Memory Mappers, Larger ROMs General Game Programming Tricks Project Status Have you started?

More information

Understanding XNA Framework Performance. Shawn Hargreaves Software Development Engineer XNA Community Game Platform Microsoft

Understanding XNA Framework Performance. Shawn Hargreaves Software Development Engineer XNA Community Game Platform Microsoft Understanding XNA Framework Performance Shawn Hargreaves Software Development Engineer XNA Community Game Platform Microsoft Contents Graphics Offload to the GPU Understand Xbox 360 system calls SpriteBatch,

More information

Computer Games 2011 Selected Game Engines

Computer Games 2011 Selected Game Engines Computer Games 2011 Selected Game Engines Dr. Mathias Lux Klagenfurt University This work is licensed under the Creative Commons Attribution-NonCommercial-ShareAlike 3.0 libgdx features High-performance,

More information

Quick Guide to the NoMachine GUI

Quick Guide to the NoMachine GUI Quick Guide to the NoMachine GUI Page 1 of 17 Table of Contents 1. What is the NoMachine GUI? The Player preferences GUI 2. How to access the NoMachine 'Player preferences' 2.1. Input preferences 2.2.

More information

Tacky Golf Senior Project Write-Up By Robert Crosby

Tacky Golf Senior Project Write-Up By Robert Crosby Tacky Golf Senior Project Write-Up By Robert Crosby Abstract This project implements a simple miniature golf game in 3d for the iphone. Using a modular approach the game engine was written in several modules

More information

Hardware Accelerated Graphics for High Performance JavaFX Mobile Applications

Hardware Accelerated Graphics for High Performance JavaFX Mobile Applications Hardware Accelerated Graphics for High Performance JavaFX Mobile Applications Pavel Petroshenko, Sun Microsystems Jan Valenta, Sun Microsystems Jerry Evans, Sun Microsystems Goal of this Session Demonstrate

More information

Mount Points Mount Points is a super simple tool for connecting objects together and managing those relationships.

Mount Points Mount Points is a super simple tool for connecting objects together and managing those relationships. Mount Points Mount Points is a super simple tool for connecting objects together and managing those relationships. With Mount Points, you can simply drag two objects together and when their mount points

More information

Realistic and Fast Cloud Rendering in Computer Games. Niniane Wang Software Engineer Microsoft Flight Simulator (now at Google Inc) Intro Video

Realistic and Fast Cloud Rendering in Computer Games. Niniane Wang Software Engineer Microsoft Flight Simulator (now at Google Inc) Intro Video Realistic and Fast Cloud Rendering in Computer Games Niniane Wang Software Engineer Microsoft Flight Simulator (now at Google Inc) Intro Video 1 Agenda Previous Work 3-D Modeling + Art Pipeline Performance

More information

Vulkan: Scaling to Multiple Threads. Kevin sun Lead Developer Support Engineer, APAC PowerVR Graphics

Vulkan: Scaling to Multiple Threads. Kevin sun Lead Developer Support Engineer, APAC PowerVR Graphics Vulkan: Scaling to Multiple Threads Kevin sun Lead Developer Support Engineer, APAC PowerVR Graphics www.imgtec.com Introduction Who am I? Kevin Sun Working at Imagination Technologies Take responsibility

More information

Windowing System on a 3D Pipeline. February 2005

Windowing System on a 3D Pipeline. February 2005 Windowing System on a 3D Pipeline February 2005 Agenda 1.Overview of the 3D pipeline 2.NVIDIA software overview 3.Strengths and challenges with using the 3D pipeline GeForce 6800 220M Transistors April

More information

Living through Flash to ipad/html5 Conversion and Development

Living through Flash to ipad/html5 Conversion and Development Living through Flash to ipad/html5 Conversion and Development Dave Goodman SoftAssist, Inc. 610.265.8484 ext 14 dgood@softassist.com www.softassist.com The Issue Your Courses How do we get from here to

More information

Gecata by Movavi 5. Recording desktop. Recording with webcam Capture videos of the games you play. Record video of your full desktop.

Gecata by Movavi 5. Recording desktop. Recording with webcam Capture videos of the games you play. Record video of your full desktop. Gecata by Movavi 5 Don't know where to start? Read these tutorials: Recording gameplay Recording desktop Recording with webcam Capture videos of the games you play. Record video of your full desktop. Add

More information

Chapter 19- Object Physics

Chapter 19- Object Physics Chapter 19- Object Physics Flowing water, fabric, things falling, and even a bouncing ball can be difficult to animate realistically using techniques we have already discussed. This is where Blender's

More information

Internet and Phone Connection Guide. Para español, ve el reverso.

Internet and Phone Connection Guide. Para español, ve el reverso. Internet and Phone Connection Guide Para español, ve el reverso. Let s get started This easy-to-follow guide will show you how to quickly set up your internet and phone services, as well as how to get

More information

RSX Best Practices. Mark Cerny, Cerny Games David Simpson, Naughty Dog Jon Olick, Naughty Dog

RSX Best Practices. Mark Cerny, Cerny Games David Simpson, Naughty Dog Jon Olick, Naughty Dog RSX Best Practices Mark Cerny, Cerny Games David Simpson, Naughty Dog Jon Olick, Naughty Dog RSX Best Practices About libgcm Using the SPUs with the RSX Brief overview of GCM Replay December 7 th, 2004

More information

Scratch Lesson 2: Movies Made From Scratch Lesson Framework

Scratch Lesson 2: Movies Made From Scratch Lesson Framework Scratch Lesson 2: Movies Made From Scratch Lesson Framework Scratch makes it easy to program your own interactive stories, games, and animations and share your creations on the web. As you create and share

More information

PowerCenter 7 Architecture and Performance Tuning

PowerCenter 7 Architecture and Performance Tuning PowerCenter 7 Architecture and Performance Tuning Erwin Dral Sales Consultant 1 Agenda PowerCenter Architecture Performance tuning step-by-step Eliminating Common bottlenecks 2 PowerCenter Architecture:

More information

Hiroyuki Kobota Director Principal Engineer. Alex Adjadj Director Global Strategic Development & Mobile Sales

Hiroyuki Kobota Director Principal Engineer. Alex Adjadj Director Global Strategic Development & Mobile Sales Hiroyuki Kobota Director Principal Engineer Alex Adjadj Director Global Strategic Development & Mobile Sales Part 1 Technical Presentation Part 2 TIZEN & NAMCO BANDAI Games Part 1 Technical Presentation

More information

Everything You Ever Wanted To Know About Resource Scheduling... Almost

Everything You Ever Wanted To Know About Resource Scheduling... Almost logo Everything You Ever Wanted To Know About Resource Scheduling... Almost Tim Hockin Senior Staff Software Engineer, Google @thockin Who is thockin? Founding member of Kubernetes

More information

Standard File Formats

Standard File Formats Standard File Formats Introduction:... 2 Text: TXT and RTF... 4 Grapics: BMP, GIF, JPG and PNG... 5 Audio: WAV and MP3... 8 Video: AVI and MPG... 11 Page 1 Introduction You can store many different types

More information