IOS PERFORMANCE. Getting the most out of your Games and Apps
|
|
- Agnes Wilkinson
- 5 years ago
- Views:
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 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 informationthe 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 informationthe 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 informationThe 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 informationReal - 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 informationOptimizing 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 informationMobile 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 informationMemory 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 informationCopyright 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 informationWorking 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 informationArcGIS 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 informationthe 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 informationOptimizing 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 informationOptimizing 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 informationApple 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 informationOptimizing 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 informationthe 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 informationGame 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 informationUnderstanding 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 informationDirect3D 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 informationPowerVR 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 informationDX10, 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 informationPERFORMANCE. 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 informationCOPYRIGHTED 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 informationIntroducing 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 informationMobile 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 informationBringing 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 informationDirect3D 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 informationBuilding 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 informationMali 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 informationCompressing 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 informationTips 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 informationProfiling 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 informationComputer 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 informationTSBK 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 informationios 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 informationBest 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 informationRaise 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 informationMarmalade 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 informationSprite 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 informationStreaming 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 informationAnimation 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 informationComputer 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 informationCSEE 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 informationGame 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 informationthe 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 informationWorking 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 informationOpenGL 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 informationCoding 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 informationWhat 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 informationUnder 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 informationMore 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 informationProfiling & 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 informationBuilding 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 informationMichal 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 informationWhiz-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 informationFlashtoUnity 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 informationLECTURE 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 informationStarling 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 informationIntroducing 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 informationDeveloping 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 informationDesigning 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 informationGROW-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 informationGodot 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 informationTuesday 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 informationUnity 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 informationLow-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 informationPerformance 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 informationUberFlow: 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 informationComputer 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 informationHow 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 informationLPGPU 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 informationMetal 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 informationThree 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 informationSpring 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 informationOptimization 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 informationProfiling & 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 informationNVIDIA 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 informationAN 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 informationARCHITECTURE 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 informationFebruary 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 informationUnderstanding 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 informationComputer 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 informationQuick 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 informationTacky 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 informationHardware 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 informationMount 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 informationRealistic 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 informationVulkan: 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 informationWindowing 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 informationLiving 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 informationGecata 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 informationChapter 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 informationInternet 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 informationRSX 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 informationScratch 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 informationPowerCenter 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 informationHiroyuki 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 informationEverything 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 informationStandard 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