Advanced Graphics and Animations for ios Apps
|
|
|
- Arline Curtis
- 9 years ago
- Views:
Transcription
1 Tools #WWDC14 Advanced Graphics and Animations for ios Apps Session 419 Axel Wefers ios Software Engineer Michael Ingrassia ios Software Engineer 2014 Apple Inc. All rights reserved. Redistribution or public display not permitted without written permission from Apple.
2 What You Will Learn Core Animation pipeline Rendering concepts UIBlurEffect UIVibrancyEffect Profiling tools Case studies
3 Technology Framework UIKit Core Animation OpenGL ES Core Graphics Graphics Hardware
4 Core Animation Pipeline Axel Wefers ios Software Engineer
5 Core Animation Pipeline Application
6 Core Animation Pipeline Application Core Animation
7 Core Animation Pipeline Application Core Animation Render Server
8 Core Animation Pipeline Application Core Animation Render Server Core Animation
9 Core Animation Pipeline Application Core Animation Render Server Core Animation GPU
10 Core Animation Pipeline Application Core Animation Render Server Core Animation GPU Display
11 Core Animation Pipeline Application Core Animation Render Server Core Animation GPU Display ms
12 Core Animation Pipeline Application Core Animation Handle Events Render Server Core Animation GPU Display ms
13 Core Animation Pipeline Application Core Animation Commit Transaction Render Server Core Animation GPU Display ms
14 Core Animation Pipeline Application Core Animation Commit Transaction Render Server Core Animation Decode GPU Display ms
15 Core Animation Pipeline Application Core Animation Commit Transaction Render Server Core Animation Decode Draw Calls GPU Display ms
16 Core Animation Pipeline Application Core Animation Commit Transaction Render Server Core Animation Decode Draw Calls GPU Render Display ms
17 Core Animation Pipeline Application Core Animation Commit Transaction Render Server Core Animation Decode Draw Calls GPU Render Display Display ms
18 Core Animation Pipeline Application Core Animation Render Server Core Animation GPU Display ms
19 Core Animation Pipeline Application Core Animation Commit Transaction Render Server Core Animation GPU Display ms
20 Commit Transaction
21 Commit Transaction Layout Set up the views
22 Commit Transaction Layout Display Set up the views Draw the views
23 Commit Transaction Layout Display Prepare Set up the views Draw the views Additional Core Animation work
24 Commit Transaction Layout Display Prepare Commit Set up the views Draw the views Additional Core Animation work Package up layers and send them to render server
25 Commit Transaction Layout Display Prepare Commit
26 Layout Layout Display Prepare Commit layoutsubviews overrides are invoked View creation, addsubview: Populate content, database lookups Usually CPU bound or I/O bound
27 Display Layout Display Prepare Commit Draw contents via drawrect: if it is overridden String drawing Usually CPU or memory bound
28 Prepare Commit Layout Display Prepare Commit Image decoding Image conversion
29 Commit Layout Display Prepare Commit Package up layers and send to render server Recursive Expensive if layer tree is complex
30 Animation Three-stage process Application Render Server
31 Animation Three-stage process Application Render Server 1. Create animation and update view hierarchy (animatewithduration:animations:)
32 Animation Three-stage process Application Render Server 2. Prepare and commit animation (layoutsubviews, drawrect:) 1. Create animation and update view hierarchy (animatewithduration:animations:)
33 Animation Three-stage process Application Render Server 2. Prepare and commit animation (layoutsubviews, drawrect:) Layout Display Prepare Commit 1. Create animation and update view hierarchy (animatewithduration:animations:)
34 Animation Three-stage process Application Render Server 3. Render each frame 2. Prepare and commit animation (layoutsubviews, drawrect:) Layout Display Prepare Commit 1. Create animation and update view hierarchy (animatewithduration:animations:)
35 Rendering Concepts Axel Wefers ios Software Engineer
36 Rendering Concepts Tile based rendering Render passes Example masking
37 Tile Based Rendering Screen is split into tiles of NxN pixels Each tile fits into the SoC cache Geometry is split in tile buckets Rasterization can begin after all geometry is submitted
38 Tile Based Rendering Screen is split into tiles of NxN pixels Each tile fits into the SoC cache Geometry is split in tile buckets Rasterization can begin after all geometry is submitted
39 Tile Based Rendering Screen is split into tiles of NxN pixels Each tile fits into the SoC cache Geometry is split in tile buckets Rasterization can begin after all geometry is submitted
40 Tile Based Rendering Screen is split into tiles of NxN pixels Each tile fits into the SoC cache Geometry is split in tile buckets Rasterization can begin after all geometry is submitted
41 Tile Based Rendering Screen is split into tiles of NxN pixels Each tile fits into the SoC cache Geometry is split in tile buckets Rasterization can begin after all geometry is submitted
42 Tile Based Rendering Rendering pass Render Server Core Animation Application Core Animation
43 Tile Based Rendering Rendering pass Render Server Core Animation Application Core Animation OpenGL GPU
44 Tile Based Rendering Rendering pass Render Server Core Animation Application Core Animation OpenGL GPU Command Buffer
45 Tile Based Rendering Rendering pass Render Server Core Animation Application Core Animation OpenGL GPU Command Buffer Vertex Processing Vertex Shader
46 Tile Based Rendering Rendering pass Render Server Core Animation Application Core Animation OpenGL GPU Command Buffer Vertex Processing Vertex Shader Tiling
47 Tile Based Rendering Rendering pass Render Server Core Animation Application Core Animation OpenGL Tiler GPU Command Buffer Vertex Processing Vertex Shader Tiling
48 Tile Based Rendering Rendering pass Render Server Core Animation Application Core Animation OpenGL Tiler GPU Command Buffer Vertex Processing Vertex Shader Tiling Parameter Buffer
49 Tile Based Rendering Rendering pass Render Server Core Animation Application Core Animation OpenGL Tiler GPU Command Buffer Vertex Processing Vertex Shader Tiling Parameter Buffer Pixel Processing Pixel Shader
50 Tile Based Rendering Rendering pass Render Server Core Animation Application Core Animation OpenGL Tiler GPU Command Buffer Vertex Processing Vertex Shader Renderer Tiling Parameter Buffer Pixel Processing Pixel Shader
51 Tile Based Rendering Rendering pass Render Server Core Animation Application Core Animation OpenGL Tiler GPU Command Buffer Vertex Processing Vertex Shader Renderer Tiling Parameter Buffer Pixel Processing Pixel Shader Render Buffer
52 Masking Rendering passes Render Server Core Animation OpenGL Application Core Animation GPU Command Buffer
53 Masking Rendering passes Render Server Application Core Animation Core Animation OpenGL Command Buffer Tiler Vertex Processing Vertex Shader Tiling Parameter Buffer Renderer Pixel Processing Pixel Shader Mask Texture GPU Pass 1 Render layer mask to texture
54 Masking Rendering passes Render Server Application Core Animation Core Animation OpenGL Command Buffer Tiler Vertex Processing Vertex Shader Tiling Parameter Buffer Renderer Pixel Processing Pixel Shader Mask Texture GPU Pass 1 Render layer mask to texture Tiler Vertex Processing Vertex Shader Tiling Parameter Buffer Renderer Pixel Processing Pixel Shader Layer Texture Pass 2 Render layer content to texture
55 Masking Rendering passes Render Server Application Core Animation Core Animation OpenGL Command Buffer Tiler Vertex Processing Vertex Shader Tiling Parameter Buffer Renderer Pixel Processing Pixel Shader Mask Texture GPU Pass 1 Render layer mask to texture Tiler Vertex Processing Vertex Shader Tiling Parameter Buffer Renderer Pixel Processing Pixel Shader Layer Texture Pass 2 Render layer content to texture Tiler Vertex Processing Vertex Shader Tiling Parameter Buffer Renderer Pixel Processing Pixel Shader Frame Buffer Compositing pass Apply mask to content texture
56 UIBlurEffect Axel Wefers ios Software Engineer
57 UIVisualEffectView with UIBlurEffect UIBlurEffect styles No effect Extra light Light Dark
58 UIVisualEffectView with UIBlurEffect Rendering passes (best case) Command Buffer GPU
59 UIVisualEffectView with UIBlurEffect Rendering passes (best case) Tiler Tiling Parameter Buffer Pixel Processing Pixel Shader Content GPU Pass 1 Vertex Processing Command Buffer Vertex Shader Renderer Render content
60 UIVisualEffectView with UIBlurEffect Rendering passes (best case) Command Buffer Tiler Vertex Processing Vertex Shader Tiling Parameter Buffer Renderer Pixel Processing Pixel Shader Content GPU Pass 1 Render content Tiler Vertex Processing Vertex Shader Tiling Parameter Buffer Renderer Pixel Processing Pixel Shader Downscaled Content Pass 2 Capture content
61 UIVisualEffectView with UIBlurEffect Rendering passes (best case) Command Buffer Tiler Vertex Processing Vertex Shader Tiling Parameter Buffer Renderer Pixel Processing Pixel Shader Content GPU Pass 1 Render content Tiler Vertex Processing Vertex Shader Tiling Parameter Buffer Renderer Pixel Processing Pixel Shader Downscaled Content Pass 2 Capture content Tiler Vertex Processing Vertex Shader Tiling Parameter Buffer Renderer Pixel Processing Pixel Shader Blur X Pass 3 Horizontal blur Tiler Vertex Processing Vertex Shader Tiling Parameter Buffer Renderer Pixel Processing Pixel Shader Blur Y Pass 4 Vertical blur
62 UIVisualEffectView with UIBlurEffect Rendering passes (best case) Command Buffer Tiler Vertex Processing Vertex Shader Tiling Parameter Buffer Renderer Pixel Processing Pixel Shader Content GPU Pass 1 Render content Tiler Vertex Processing Vertex Shader Tiling Parameter Buffer Renderer Pixel Processing Pixel Shader Downscaled Content Pass 2 Capture content Tiler Vertex Processing Vertex Shader Tiling Parameter Buffer Renderer Pixel Processing Pixel Shader Blur X Pass 3 Horizontal blur Tiler Vertex Processing Vertex Shader Tiling Parameter Buffer Renderer Pixel Processing Pixel Shader Blur Y Pass 4 Vertical blur Tiler Vertex Processing Vertex Shader Tiling Parameter Buffer Renderer Pixel Processing Pixel Shader Frame Buffer Compositing pass Upscale and tint
63 UIVisualEffectView with UIBlurEffect GPU utilization, fullscreen, ipad Air
64 UIVisualEffectView with UIBlurEffect GPU utilization, fullscreen, ipad Air Tiler Vertex processing Renderer Pixel processing ms VBlank interrupt Every ms
65 UIVisualEffectView with UIBlurEffect GPU utilization, fullscreen, ipad Air Tiler Vertex processing Renderer Pixel processing ms VBlank interrupt Every ms
66 UIVisualEffectView with UIBlurEffect GPU utilization, fullscreen, ipad Air Tiler Vertex processing Renderer Pixel processing ms VBlank interrupt Every ms Pass 1
67 UIVisualEffectView with UIBlurEffect GPU utilization, fullscreen, ipad Air Tiler Vertex processing Renderer Pixel processing ms VBlank interrupt Every ms Pass 1 Pass 2
68 UIVisualEffectView with UIBlurEffect GPU utilization, fullscreen, ipad Air Tiler Vertex processing Renderer Pixel processing ms VBlank interrupt Every ms Pass 1 Pass 2 Pass 3
69 UIVisualEffectView with UIBlurEffect GPU utilization, fullscreen, ipad Air Tiler Vertex processing Renderer Pixel processing ms VBlank interrupt Every ms Pass 1 Pass 2 Pass 3 Pass 4
70 UIVisualEffectView with UIBlurEffect GPU utilization, fullscreen, ipad Air Tiler Vertex processing Renderer Pixel processing ms VBlank interrupt Every ms Pass 1 Pass 2 Pass 3 Pass 4 Pass 5
71 UIVisualEffectView with UIBlurEffect GPU utilization, fullscreen, ipad Air Tiler Vertex processing Renderer Pixel processing ms VBlank interrupt Every ms
72 UIVisualEffectView with UIBlurEffect Fullscreen performance ipad (3rd generation) ipad Air UIBlurEffectStyleExtraLight UIBlurEffectStyleLight UIBlurEffectStyleDark GPU time in milliseconds (smaller is better)
73 UIVisualEffectView with UIBlurEffect Fullscreen performance ipad (3rd generation) ipad Air UIBlurEffectStyleExtraLight UIBlurEffectStyleLight UIBlurEffectStyleDark GPU time in milliseconds (smaller is better)
74 UIVisualEffectView with UIBlurEffect UIBlurEffect support Device Blur Tint ipad 2 ipad (3rd generation) ipad (4th generation) ipad Air ipad mini ipad mini Retina display All iphones ipod touch
75 UIVisualEffectView with UIBlurEffect Performance considerations UIBlurEffect adds multiple offscreen passes depending on style Only dirty regions are redrawn Effect is very costly UI can easily be GPU bound Keep bounds of view as small as possible Make sure to budget for effect
76 UIVibrancyEffect Axel Wefers ios Software Engineer
77 UIVisualEffectView with UIVibrancyEffect UIVibrancyEffect styles Extra light Light Dark
78 UIVisualEffectView with UIVibrancyEffect UIVibrancyEffect styles Extra light Light Dark
79 UIVisualEffectView with UIVibrancyEffect UIVibrancyEffect styles Extra light Light Dark
80 UIVisualEffectView with UIVibrancyEffect Rendering passes Render Server Core Animation Application Core Animation OpenGL GPU Command Buffer
81 UIVisualEffectView with UIVibrancyEffect Rendering passes Render Server Core Animation Application Core Animation OpenGL Command Buffer Blur Effect GPU Pass 1 to 5 Render blur effect
82 UIVisualEffectView with UIVibrancyEffect Rendering passes Render Server Core Animation Application Core Animation OpenGL Command Buffer Blur Effect GPU Pass 1 to 5 Render blur effect Tiler Vertex Processing Vertex Shader Tiling Parameter Buffer Renderer Pixel Processing Pixel Shader Layer Texture Pass 6 Render layer content to texture
83 UIVisualEffectView with UIVibrancyEffect Rendering passes Render Server Core Animation Application Core Animation OpenGL Command Buffer Blur Effect GPU Pass 1 to 5 Render blur effect Tiler Vertex Processing Vertex Shader Tiling Parameter Buffer Renderer Pixel Processing Pixel Shader Layer Texture Pass 6 Render layer content to texture Tiler Vertex Processing Vertex Shader Tiling Parameter Buffer Renderer Pixel Processing Pixel Shader Frame Buffer Compositing pass Apply filter to content texture
84 UIVisualEffectView with UIVibrancyEffect GPU utilization, fullscreen, ipad Air Tiler Vertex processing Renderer Pixel processing ms VBlank interrupt Every ms Pass 1 Pass 2 Pass 3 Pass 4 Pass 5 Pass 6 Pass 7
85 UIVisualEffectView with UIVibrancyEffect GPU utilization, fullscreen, ipad Air Tiler Vertex processing Renderer Pixel processing ms VBlank interrupt Every ms Pass 1 Pass 2 Pass 3 Pass 4 Pass 5 Pass 6 Pass 7
86 UIVisualEffectView with UIVibrancyEffect GPU utilization, fullscreen, ipad Air Tiler Vertex processing Renderer Pixel processing ms VBlank interrupt Every ms Pass 1 Pass 2 Pass 3 Pass 4 Pass 5 Pass 6 Pass 7
87 UIVisualEffectView with UIVibrancyEffect GPU utilization, fullscreen, ipad Air Tiler Vertex processing Renderer Pixel processing ms VBlank interrupt Every ms
88 UIVisualEffectView with UIVibrancyEffect Fullscreen performance ipad (3rd generation) ipad Air UIBlurEffectStyleExtraLight UIBlurEffectStyleLight UIBlurEffectStyleDark GPU time in milliseconds (smaller is better)
89 UIVisualEffectView with UIVibrancyEffect Fullscreen performance ipad (3rd generation) ipad Air UIBlurEffectStyleExtraLight UIBlurEffectStyleLight UIBlurEffectStyleDark GPU time in milliseconds (smaller is better)
90 UIVisualEffectView with UIVibrancyEffect Performance considerations UIVibrancyEffect adds two offscreen passes UIVibrancyEffect uses expensive compositing filter for content Use UIVibrancyEffect on small regions Only dirty regions are redrawn UIVibrancyEffect is very costly on all devices UI can easily be GPU bound Keep bounds of view as small as possible Make sure to budget for effects
91 Rasterization Performance considerations Use to composite to image once with GPU Enable with shouldrasterize property on CALayer Extra offscreen passes when updating content Do not overuse, cache size is limited to 2.5x of screen size Rasterized images evicted from cache if unused for more than 100ms
92 Rasterization Typical use cases Avoid redrawing expensive effects for static content Avoid redrawing of complex view hierarchies
93 Group Opacity Performance considerations Disable with allowsgroupopacity property on CALayer Will introduce offscreen passes: If layer is not opaque (opacity = 1.0) And if layer has nontrivial content (child layers or background image) Sub view hierarchy needs to be composited before being blended Always turn it off if not needed
94 Tools Michael Ingrassia ios Software Engineer
95 Performance Investigation Mindset
96 Performance Investigation Mindset What is the frame rate? Goal is always 60 frames per second
97 Performance Investigation Mindset What is the frame rate? CPU or GPU bound? Goal is always 60 frames per second Lower utilization is desired and saves battery
98 Performance Investigation Mindset What is the frame rate? CPU or GPU bound? Any unnecessary CPU rendering? Goal is always 60 frames per second Lower utilization is desired and saves battery GPU is desirable but know when CPU makes sense
99 Performance Investigation Mindset What is the frame rate? CPU or GPU bound? Any unnecessary CPU rendering? Too many offscreen passes? Goal is always 60 frames per second Lower utilization is desired and saves battery GPU is desirable but know when CPU makes sense Fewer is better
100 Performance Investigation Mindset What is the frame rate? CPU or GPU bound? Any unnecessary CPU rendering? Too many offscreen passes? Too much blending? Goal is always 60 frames per second Lower utilization is desired and saves battery GPU is desirable but know when CPU makes sense Fewer is better Less is better
101 Performance Investigation Mindset What is the frame rate? CPU or GPU bound? Any unnecessary CPU rendering? Too many offscreen passes? Too much blending? Any strange image formats or sizes? Goal is always 60 frames per second Lower utilization is desired and saves battery GPU is desirable but know when CPU makes sense Fewer is better Less is better Avoid on-the-fly conversions or resizing
102 Performance Investigation Mindset What is the frame rate? CPU or GPU bound? Any unnecessary CPU rendering? Too many offscreen passes? Too much blending? Any strange image formats or sizes? Any expensive views or effects? Goal is always 60 frames per second Lower utilization is desired and saves battery GPU is desirable but know when CPU makes sense Fewer is better Less is better Avoid on-the-fly conversions or resizing Understand the cost of what is in use
103 Performance Investigation Mindset What is the frame rate? CPU or GPU bound? Any unnecessary CPU rendering? Too many offscreen passes? Too much blending? Any strange image formats or sizes? Any expensive views or effects? Anything unexpected in hierarchy? Goal is always 60 frames per second Lower utilization is desired and saves battery GPU is desirable but know when CPU makes sense Fewer is better Less is better Avoid on-the-fly conversions or resizing Understand the cost of what is in use Know the actual view hierarchy
104 Tools Instruments Core Animation instrument OpenGL ES Driver instrument Simulator Color debug options Xcode View debugging
105 Instruments Core Animation template
106 Instruments Core Animation template
107 Core Animation Instrument Measuring frame rate
108 Core Animation Instrument Measuring frame rate
109 Core Animation Instrument Measuring frame rate
110 Core Animation Instrument Measuring frame rate
111 Time Profiler Instrument CPU utilization
112 Time Profiler Instrument CPU utilization
113 Time Profiler Instrument CPU utilization
114 Core Animation Instrument Color debug options
115 Core Animation Instrument Color debug options
116 Core Animation Instrument Color debug options
117 Core Animation Instrument Color blended layers
118 Core Animation Instrument Color hits green and misses red
119 Core Animation Instrument Color copied images
120 Core Animation Instrument Color misaligned images
121 Core Animation Instrument Color offscreen-rendered yellow
122 Core Animation Instrument Color OpenGL fast path blue
123 Core Animation Instrument Flash updated regions
124 Performance Investigation Mindset Core Animation instrument summary What is the frame rate? Goal is always 60 frames per second Any unnecessary CPU rendering? GPU is desirable but know when CPU makes sense Too many offscreen passes? Fewer is better Too much blending? Less is better Any strange image formats or sizes? Avoid on-the-fly conversions or resizing
125 ios Simulator Coloring Options
126 Instruments OpenGL ES Driver template
127 Instruments OpenGL ES Driver template
128 OpenGL ES Driver Instrument Selecting statistics to list
129 OpenGL ES Driver Instrument Selecting statistics to list
130 OpenGL ES Driver Instrument Selecting statistics to list
131 OpenGL ES Driver Instrument GPU utilization
132 OpenGL ES Driver Instrument GPU utilization
133 OpenGL ES Driver Instrument GPU utilization
134 Time Profiler Instrument CPU utilization
135 Time Profiler Instrument CPU utilization
136 Time Profiler Instrument CPU utilization
137 Performance Investigation Mindset OpenGL ES Driver instrument summary What is the frame rate? Goal is always 60 frames per second CPU or GPU bound? Lower utilization is desired and saves battery Any unnecessary CPU rendering? GPU is desirable but know when CPU make sense
138 Xcode View debugging
139 Xcode View debugging
140 Xcode View debugging
141 Xcode View debugging
142 Performance Investigation Mindset Xcode view debugging summary Any expensive views or effects? Understand the cost of what is in use Anything unexpected in hierarchy? Know the actual view hierarchy
143 Case Studies Michael Ingrassia ios Software Engineer
144 Case Studies Explore several scenarios Measure performance on different devices Keep the same appearance with better performance
145 Fictitious Photo Application Case study Simple table view Each cell shows a photo thumbnail and some text Each photo has a small shadow
146 Measure Frame Rate on iphone 5s OpenGL ES Driver instrument
147 Measure Frame Rate on iphone 5s OpenGL ES Driver instrument
148 Awesome Ship it?
149 Fictitious Photo Application ipod touch scrolling performance What about the performance on other devices?
150 Measure Frame Rate on ipod touch OpenGL ES Driver instrument
151 Measure Frame Rate on ipod touch OpenGL ES Driver instrument
152 Measure Frame Rate on ipod touch OpenGL ES Driver instrument
153 Analyzing View Hierarchy on ipod touch Xcode view debugging
154 Analyzing View Hierarchy on ipod touch Xcode view debugging
155 Color Offscreen-Rendered Yellow Core Animation instrument
156 How Are We Setting up the Shadow?
157 How Are We Setting up the Shadow? We are asking Core Animation to generate the shadow CALayer *imageviewlayer = cell.imageview.layer; imageviewlayer.shadowcolor = [UIColor blackcolor].cgcolor; imageviewlayer.shadowopacity = 1.0; imageviewlayer.shadowradius = 2.0; imageviewlayer.shadowoffset = CGSizeMake(1.0, 1.0);
158 How Are We Setting up the Shadow? We are asking Core Animation to generate the shadow CALayer *imageviewlayer = cell.imageview.layer; imageviewlayer.shadowcolor = [UIColor blackcolor].cgcolor; imageviewlayer.shadowopacity = 1.0; imageviewlayer.shadowradius = 2.0; imageviewlayer.shadowoffset = CGSizeMake(1.0, 1.0); Perhaps there is a more efficient way imageviewlayer.shadowpath = CGPathCreateWithRect(imageRect, NULL);
159 Color Offscreen-Rendered Yellow Core Animation instrument
160 Measure Frame Rate on ipod touch OpenGL ES Driver instrument
161 Measure Frame Rate on ipod touch OpenGL ES Driver instrument
162 Measure Frame Rate on ipod touch OpenGL ES Driver instrument
163 Awesome Can we ship it now?
164 Measure Frame Rate on iphone 4s OpenGL ES Driver instrument
165 Measure Frame Rate on iphone 4s OpenGL ES Driver instrument
166 Measure Frame Rate on iphone 4s OpenGL ES Driver instrument
167 Fictitious Photo Application Performance across devices CA Shadow iphone 5s iphone 5 iphone 4s ipod touch shadowpath Frame Rate (target is 60 fps) 60
168 Awesome Ship it
169 Fictitious Photo Application Summary Offscreen passes are expensive Use Core Animation instrument to find them Know what you can do to avoid them Measure performance across different devices Use OpenGL ES Driver instrument for GPU time Use Time Profiler instrument for CPU time Know your view hierarchy and any hidden costs This is especially true for table cells and scrolling
170 Fictitious Contacts Application Case study Simple table view Each cell shows a round thumbnail and some text
171 Fictitious Contacts Application Performance across devices 60 iphone 5s iphone 5 iphone 4s ipod touch Frame Rate (target is 60 fps)
172 Measure Frame Rate on ipod touch OpenGL ES Driver instrument
173 Measure Frame Rate on ipod touch OpenGL ES Driver instrument
174 Measure Frame Rate on ipod touch OpenGL ES Driver instrument
175 Color Offscreen-Rendered Yellow Core Animation instrument
176 How Are We Achieving Round Thumbnails?
177 How Are We Achieving Round Thumbnails? We are asking Core Animation to mask the image CALayer *imageviewlayer = cell.imageview.layer; imageviewlayer.cornerradius = imageheight / 2.0; imageviewlayer.maskstobounds = YES;
178 How Are We Achieving Round Thumbnails? We are asking Core Animation to mask the image CALayer *imageviewlayer = cell.imageview.layer; imageviewlayer.cornerradius = imageheight / 2.0; imageviewlayer.maskstobounds = YES; Perhaps there is a more efficient way Don t mask on the fly, pre-generate thumbnails as round, or
179 How Are We Achieving Round Thumbnails? We are asking Core Animation to mask the image CALayer *imageviewlayer = cell.imageview.layer; imageviewlayer.cornerradius = imageheight / 2.0; imageviewlayer.maskstobounds = YES; Perhaps there is a more efficient way Don t mask on the fly, pre-generate thumbnails as round, or If that is not possible, fake it - Table background is solid white - Render a white inverted circle on top of square thumbnail asset - Reducing offscreen passes but increasing blending, still a net performance win
180 Measure Frame Rate on ipod touch OpenGL ES Driver instrument
181 Measure Frame Rate on ipod touch OpenGL ES Driver instrument
182 Measure Frame Rate on ipod touch OpenGL ES Driver instrument
183 Fictitious Contacts Application Performance across devices before iphone 5s iphone 5 iphone 4s ipod touch after Frame Rate (target is 60 fps)
184 Fictitious Contacts Application Summary Offscreen passes are expensive Use Core Animation instrument to find them Know what you can do to avoid them Measure performance across different devices Use OpenGL ES Driver instrument for GPU time Use Time Profiler instrument for CPU time Know your view hierarchy and any hidden costs This is especially true for table cells and scrolling
185 Performance Investigation Mindset Summary What is the frame rate? CPU or GPU bound? Any unnecessary CPU rendering? Too many offscreen passes? Too much blending? Any strange image formats or sizes? Any expensive views or effects? Anything unexpected in hierarchy? Core Animation or OpenGL ES Driver instrument OpenGL ES Driver and Time Profiler instrument Time Profiler instrument Core Animation instrument Core Animation instrument Core Animation instrument Xcode View Debugger Xcode View Debugger
186 Summary Core Animation pipeline Rendering concepts UIBlurEffect UIVibrancyEffect Profiling tools Case studies
187 More Information Jake Behrens App Frameworks Evangelist Dave DeLong Developer Tools Evangelist Documentation Core Animation CoreAnimation_guide/Introduction/Introduction.html Apple Developer Forums
188 Related Sessions Improving Your App with Instruments Marina Tuesday 4:30PM Debugging in Xcode 6 Marina Wednesday 10:15AM Writing Energy Efficient Code, Part 1 Russian Hill Wednesday 10:15AM Writing Energy Efficient Code, Part 2 Russian Hill Wednesday 11:30AM Creating Custom ios User Interfaces Marina Wednesday 3:15PM Building Interruptible and Responsive Interactions Presidio Friday 11:30AM
189 Labs Core Animation and Quartz 2D Lab Graphics and Games Lab A Tuesday 2:00PM Interface Builder and Live Views Lab Tools Lab C Wednesday 9:00AM Power and Performance Lab Core OS Lab B Wednesday 2:00PM Dynamics, View Animations, and Core Animation Lab Frameworks Lab A Thursday 9:00AM Power and Performance Lab Core OS Lab A Thursday 3:15PM Visual Effects and Appearance Customization Lab Frameworks Lab A Friday 9:00AM
190
Silverlight for Windows Embedded Graphics and Rendering Pipeline 1
Silverlight for Windows Embedded Graphics and Rendering Pipeline 1 Silverlight for Windows Embedded Graphics and Rendering Pipeline Windows Embedded Compact 7 Technical Article Writers: David Franklin,
Optimizing AAA Games for Mobile Platforms
Optimizing AAA Games for Mobile Platforms Niklas Smedberg Senior Engine Programmer, Epic Games Who Am I A.k.a. Smedis Epic Games, Unreal Engine 15 years in the industry 30 years of programming C64 demo
GPU Architecture. Michael Doggett ATI
GPU Architecture Michael Doggett ATI GPU Architecture RADEON X1800/X1900 Microsoft s XBOX360 Xenos GPU GPU research areas ATI - Driving the Visual Experience Everywhere Products from cell phones to super
Image Processing and Computer Graphics. Rendering Pipeline. Matthias Teschner. Computer Science Department University of Freiburg
Image Processing and Computer Graphics Rendering Pipeline Matthias Teschner Computer Science Department University of Freiburg Outline introduction rendering pipeline vertex processing primitive processing
Developer Tools. Tim Purcell NVIDIA
Developer Tools Tim Purcell NVIDIA Programming Soap Box Successful programming systems require at least three tools High level language compiler Cg, HLSL, GLSL, RTSL, Brook Debugger Profiler Debugging
Performance Optimization and Debug Tools for mobile games with PlayCanvas
Performance Optimization and Debug Tools for mobile games with PlayCanvas Jonathan Kirkham, Senior Software Engineer, ARM Will Eastcott, CEO, PlayCanvas 1 Introduction Jonathan Kirkham, ARM Worked with
Shader Model 3.0. Ashu Rege. NVIDIA Developer Technology Group
Shader Model 3.0 Ashu Rege NVIDIA Developer Technology Group Talk Outline Quick Intro GeForce 6 Series (NV4X family) New Vertex Shader Features Vertex Texture Fetch Longer Programs and Dynamic Flow Control
How To Develop An App For Ios (Windows)
Mobile Application Development Lecture 14 ios SDK 2013/2014 Parma Università degli Studi di Parma Lecture Summary ios operating system ios SDK Tools of the trade ModelViewController MVC interaction patterns
GUI GRAPHICS AND USER INTERFACES. Welcome to GUI! Mechanics. Mihail Gaianu 26/02/2014 1
Welcome to GUI! Mechanics 26/02/2014 1 Requirements Info If you don t know C++, you CAN take this class additional time investment required early on GUI Java to C++ transition tutorial on course website
Low power GPUs a view from the industry. Edvard Sørgård
Low power GPUs a view from the industry Edvard Sørgård 1 ARM in Trondheim Graphics technology design centre From 2006 acquisition of Falanx Microsystems AS Origin of the ARM Mali GPUs Main activities today
Recent Advances and Future Trends in Graphics Hardware. Michael Doggett Architect November 23, 2005
Recent Advances and Future Trends in Graphics Hardware Michael Doggett Architect November 23, 2005 Overview XBOX360 GPU : Xenos Rendering performance GPU architecture Unified shader Memory Export Texture/Vertex
The Future Of Animation Is Games
The Future Of Animation Is Games 王 銓 彰 Next Media Animation, Media Lab, Director [email protected] The Graphics Hardware Revolution ( 繪 圖 硬 體 革 命 ) : GPU-based Graphics Hardware Multi-core (20 Cores
Introduction to Imagery and Raster Data in ArcGIS
Esri International User Conference San Diego, California Technical Workshops July 25, 2012 Introduction to Imagery and Raster Data in ArcGIS Simon Woo slides Cody Benkelman - demos Overview of Presentation
Objective C and iphone App
Objective C and iphone App 6 Months Course Description: Understanding the Objective-C programming language is critical to becoming a successful iphone developer. This class is designed to teach you a solid
OpenGL Performance Tuning
OpenGL Performance Tuning Evan Hart ATI Pipeline slides courtesy John Spitzer - NVIDIA Overview What to look for in tuning How it relates to the graphics pipeline Modern areas of interest Vertex Buffer
INTRODUCTION TO RENDERING TECHNIQUES
INTRODUCTION TO RENDERING TECHNIQUES 22 Mar. 212 Yanir Kleiman What is 3D Graphics? Why 3D? Draw one frame at a time Model only once X 24 frames per second Color / texture only once 15, frames for a feature
OpenGL Insights. Edited by. Patrick Cozzi and Christophe Riccio
OpenGL Insights Edited by Patrick Cozzi and Christophe Riccio Browser Graphics Analysis and Optimizations 36 Chris Dirks and Omar A. Rodriguez 36.1 Introduction Understanding performance bottlenecks in
ios Technology Overview
ios Technology Overview Contents About the ios Technologies 7 At a Glance 7 The ios Architecture is Layered 7 The ios Technologies Are Packaged as Frameworks 8 ios and OS X Share Many of the Same Frameworks
Graphic Design. Background: The part of an artwork that appears to be farthest from the viewer, or in the distance of the scene.
Graphic Design Active Layer- When you create multi layers for your images the active layer, or the only one that will be affected by your actions, is the one with a blue background in your layers palette.
Comp 410/510. Computer Graphics Spring 2016. Introduction to Graphics Systems
Comp 410/510 Computer Graphics Spring 2016 Introduction to Graphics Systems Computer Graphics Computer graphics deals with all aspects of creating images with a computer Hardware (PC with graphics card)
ios Application Development &
Introduction of ios Application Development & Swift Programming Language Presented by Chii Chang [email protected] Outlines Basic understanding about ios App Development Development environment: Xcode IDE Foundations
GPU Profiling with AMD CodeXL
GPU Profiling with AMD CodeXL Software Profiling Course Hannes Würfel OUTLINE 1. Motivation 2. GPU Recap 3. OpenCL 4. CodeXL Overview 5. CodeXL Internals 6. CodeXL Profiling 7. CodeXL Debugging 8. Sources
Developing Applications for ios
Developing Applications for ios Lecture 1: Mobile Applications Development Radu Ionescu [email protected] Faculty of Mathematics and Computer Science University of Bucharest Content Key concepts
Improving Your App with Instruments
Tools #WWDC14 Improving Your App with Instruments Session 418 Daniel Delwood Software Radiologist 2014 Apple Inc. All rights reserved. Redistribution or public display not permitted without written permission
DATA VISUALIZATION OF THE GRAPHICS PIPELINE: TRACKING STATE WITH THE STATEVIEWER
DATA VISUALIZATION OF THE GRAPHICS PIPELINE: TRACKING STATE WITH THE STATEVIEWER RAMA HOETZLEIN, DEVELOPER TECHNOLOGY, NVIDIA Data Visualizations assist humans with data analysis by representing information
BCC Multi Stripe Wipe
BCC Multi Stripe Wipe The BCC Multi Stripe Wipe is a similar to a Horizontal or Vertical Blind wipe. It offers extensive controls to randomize the stripes parameters. The following example shows a Multi
Chapter 1. Introduction to ios Development. Objectives: Touch on the history of ios and the devices that support this operating system.
Chapter 1 Introduction to ios Development Objectives: Touch on the history of ios and the devices that support this operating system. Understand the different types of Apple Developer accounts. Introduce
ACE: After Effects CC
Adobe Training Services Exam Guide ACE: After Effects CC Adobe Training Services provides this exam guide to help prepare partners, customers, and consultants who are actively seeking accreditation as
Overview Motivation and applications Challenges. Dynamic Volume Computation and Visualization on the GPU. GPU feature requests Conclusions
Module 4: Beyond Static Scalar Fields Dynamic Volume Computation and Visualization on the GPU Visualization and Computer Graphics Group University of California, Davis Overview Motivation and applications
How To Teach Computer Graphics
Computer Graphics Thilo Kielmann Lecture 1: 1 Introduction (basic administrative information) Course Overview + Examples (a.o. Pixar, Blender, ) Graphics Systems Hands-on Session General Introduction http://www.cs.vu.nl/~graphics/
How To Develop For A Powergen 2.2 (Tegra) With Nsight) And Gbd (Gbd) On A Quadriplegic (Powergen) Powergen 4.2.2 Powergen 3
Profiling and Debugging Tools for High-performance Android Applications Stephen Jones, Product Line Manager, NVIDIA ([email protected]) Android By The Numbers 1.3M Android activations per day Android activations
ANDROID DEVELOPER TOOLS TRAINING GTC 2014. Sébastien Dominé, NVIDIA
ANDROID DEVELOPER TOOLS TRAINING GTC 2014 Sébastien Dominé, NVIDIA AGENDA NVIDIA Developer Tools Introduction Multi-core CPU tools Graphics Developer Tools Compute Developer Tools NVIDIA Developer Tools
Getting Started with CodeXL
AMD Developer Tools Team Advanced Micro Devices, Inc. Table of Contents Introduction... 2 Install CodeXL... 2 Validate CodeXL installation... 3 CodeXL help... 5 Run the Teapot Sample project... 5 Basic
Water Flow in. Alex Vlachos, Valve July 28, 2010
Water Flow in Alex Vlachos, Valve July 28, 2010 Outline Goals & Technical Constraints How Artists Create Flow Maps Flowing Normal Maps in Left 4 Dead 2 Flowing Color Maps in Portal 2 Left 4 Dead 2 Goals
RADEON 9700 SERIES. User s Guide. Copyright 2002, ATI Technologies Inc. All rights reserved.
RADEON 9700 SERIES User s Guide P/N 137-40361-30 Copyright 2002, ATI Technologies Inc. All rights reserved. ATI and all ATI product and product feature names are trademarks and/or registered trademarks
Client Requirement. Master Data Management App. Case Study -
Idhasoft is a global world-class organization providing best-of-breed localized business and technology solutions, with continuous innovation and quality backed by best-in-class people Case Study - Master
The Evolution of Computer Graphics. SVP, Content & Technology, NVIDIA
The Evolution of Computer Graphics Tony Tamasi SVP, Content & Technology, NVIDIA Graphics Make great images intricate shapes complex optical effects seamless motion Make them fast invent clever techniques
Finding Performance and Power Issues on Android Systems. By Eric W Moore
Finding Performance and Power Issues on Android Systems By Eric W Moore Agenda Performance & Power Tuning on Android & Features Needed/Wanted in a tool Some Performance Tools Getting a Device that Supports
Continuous Integration with Xcode 6
Tools #WWDC14 Continuous Integration with Xcode 6 Session 415 Brent Shank Software Engineer, Xcode 2014 Apple Inc. All rights reserved. Redistribution or public display not permitted without written permission
Radeon GPU Architecture and the Radeon 4800 series. Michael Doggett Graphics Architecture Group June 27, 2008
Radeon GPU Architecture and the series Michael Doggett Graphics Architecture Group June 27, 2008 Graphics Processing Units Introduction GPU research 2 GPU Evolution GPU started as a triangle rasterizer
Introduction to Computer Graphics. Jürgen P. Schulze, Ph.D. University of California, San Diego Fall Quarter 2012
CSE 167: Introduction to Computer Graphics Jürgen P. Schulze, Ph.D. University of California, San Diego Fall Quarter 2012 Today Course organization Course overview 2 Course Staff Instructor Jürgen Schulze,
TakeMySelfie ios App Documentation
TakeMySelfie ios App Documentation What is TakeMySelfie ios App? TakeMySelfie App allows a user to take his own picture from front camera. User can apply various photo effects to the front camera. Programmers
Optimizing Unity Games for Mobile Platforms. Angelo Theodorou Software Engineer Unite 2013, 28 th -30 th August
Optimizing Unity Games for Mobile Platforms Angelo Theodorou Software Engineer Unite 2013, 28 th -30 th August Agenda Introduction The author and ARM Preliminary knowledge Unity Pro, OpenGL ES 3.0 Identify
Finger Paint: Cross-platform Augmented Reality
Finger Paint: Cross-platform Augmented Reality Samuel Grant Dawson Williams October 15, 2010 Abstract Finger Paint is a cross-platform augmented reality application built using Dream+ARToolKit. A set of
QNX Software Development Platform 6.6. Screen Graphics Subsystem Developer's Guide
QNX Software Development Platform 6.6 QNX Software Development Platform 6.6 Screen Graphics Subsystem Developer's Guide 2010 2014, QNX Software Systems Limited, a subsidiary of BlackBerry Limited. All
Modern Graphics Engine Design. Sim Dietrich NVIDIA Corporation [email protected]
Modern Graphics Engine Design Sim Dietrich NVIDIA Corporation [email protected] Overview Modern Engine Features Modern Engine Challenges Scene Management Culling & Batching Geometry Management Collision
Create a Poster Using Publisher
Contents 1. Introduction 1. Starting Publisher 2. Create a Poster Template 5. Aligning your images and text 7. Apply a background 12. Add text to your poster 14. Add pictures to your poster 17. Add graphs
Billings Pro ios User Guide (Last updated: Feb 15th, 2016)
Billings Pro ios User Guide (Last updated: Feb 15th, 2016) Table of Contents Table of Contents 2 Overview 3 Objective 3 Audience 3 Device Requirements 3 Other requirements 3 About Billings Pro on ios 4
Mobility Introduction Android. Duration 16 Working days Start Date 1 st Oct 2013
Mobility Introduction Android Duration 16 Working days Start Date 1 st Oct 2013 Day 1 1. Introduction to Mobility 1.1. Mobility Paradigm 1.2. Desktop to Mobile 1.3. Evolution of the Mobile 1.4. Smart phone
Graphical displays are generally of two types: vector displays and raster displays. Vector displays
Display technology Graphical displays are generally of two types: vector displays and raster displays. Vector displays Vector displays generally display lines, specified by their endpoints. Vector display
Mobile Application Development L06: ios Drawing and Animation
Mobile Application Development L06: ios Drawing and Animation Jonathan Diehl (Informatik 10) Hendrik Thüs (Informatik 9) Views 2 UIView Defines a rectangular area on the screen Responsibilities Draw content
Using Safari to Deliver and Debug a Responsive Web Design
Media #WWDC15 Using Safari to Deliver and Debug a Responsive Web Design Session 505 Jono Wells Safari and WebKit Engineer 2015 Apple Inc. All rights reserved. Redistribution or public display not permitted
Dynamic Resolution Rendering
Dynamic Resolution Rendering Doug Binks Introduction The resolution selection screen has been one of the defining aspects of PC gaming since the birth of games. In this whitepaper and the accompanying
NVPRO-PIPELINE A RESEARCH RENDERING PIPELINE MARKUS TAVENRATH [email protected] SENIOR DEVELOPER TECHNOLOGY ENGINEER, NVIDIA
NVPRO-PIPELINE A RESEARCH RENDERING PIPELINE MARKUS TAVENRATH [email protected] SENIOR DEVELOPER TECHNOLOGY ENGINEER, NVIDIA GFLOPS 3500 3000 NVPRO-PIPELINE Peak Double Precision FLOPS GPU perf improved
Golfshot : Golf GPS User Guide
Golfshot : Golf GPS User Guide Version 3.0 Scorecard Version 3.0 QUICK TIPS: New in 3.0: Track Menu Track Menu Press the Golf Ball icon in the upper left corner to peel back the Track Menu. Here you can
Android Architecture. Alexandra Harrison & Jake Saxton
Android Architecture Alexandra Harrison & Jake Saxton Overview History of Android Architecture Five Layers Linux Kernel Android Runtime Libraries Application Framework Applications Summary History 2003
The Dennis Technique for SketchUp Models in Photoshop
The Dennis Technique for SketchUp Models in Photoshop The big concept is to put a Black & White drawing over a coloured one and then artistically erase just enough of the top Black and White so that essential
How To Understand The Power Of Unity 3D (Pro) And The Power Behind It (Pro/Pro)
Optimizing Unity Games for Mobile Platforms Angelo Theodorou Software Engineer Brains Eden, 28 th June 2013 Agenda Introduction The author ARM Ltd. What do you need to have What do you need to know Identify
2: Introducing image synthesis. Some orientation how did we get here? Graphics system architecture Overview of OpenGL / GLU / GLUT
COMP27112 Computer Graphics and Image Processing 2: Introducing image synthesis [email protected] 1 Introduction In these notes we ll cover: Some orientation how did we get here? Graphics system
genie app and genie mobile app
genie app and genie mobile app User Manual 350 East Plumeria Drive San Jose, CA 95134 USA June 2012 202-10933-02 v1.0 2012 NETGEAR, Inc. All rights reserved No part of this publication may be reproduced,
Dashboard Skin Tutorial. For ETS2 HTML5 Mobile Dashboard v3.0.2
Dashboard Skin Tutorial For ETS2 HTML5 Mobile Dashboard v3.0.2 Dashboard engine overview Dashboard menu Skin file structure config.json Available telemetry properties dashboard.html dashboard.css Telemetry
Lecture Notes, CEng 477
Computer Graphics Hardware and Software Lecture Notes, CEng 477 What is Computer Graphics? Different things in different contexts: pictures, scenes that are generated by a computer. tools used to make
Visualizing Data: Scalable Interactivity
Visualizing Data: Scalable Interactivity The best data visualizations illustrate hidden information and structure contained in a data set. As access to large data sets has grown, so has the need for interactive
IV3Dm provides global settings which can be set prior to launching the application and are available through the device settings menu.
ImageVis3D Mobile This software can be used to display and interact with different kinds of datasets - such as volumes or meshes - on mobile devices, which currently includes iphone and ipad. A selection
JavaFX Session Agenda
JavaFX Session Agenda 1 Introduction RIA, JavaFX and why JavaFX 2 JavaFX Architecture and Framework 3 Getting Started with JavaFX 4 Examples for Layout, Control, FXML etc Current day users expect web user
ACE: After Effects CS6
Adobe Training Services Exam Guide ACE: After Effects CS6 Adobe Training Services provides this exam guide to help prepare partners, customers, and consultants who are actively seeking accreditation as
Sprite Kit Programming Guide
Sprite Kit Programming Guide Contents About Sprite Kit 9 At a Glance 10 Sprite Content is Drawn by Presenting Scenes Inside a Sprite View 11 A Node Tree Defines What Appears in a Scene 11 Textures Hold
Beginning Android 4. Games Development. Mario Zechner. Robert Green
Beginning Android 4 Games Development Mario Zechner Robert Green Contents Contents at a Glance About the Authors Acknowledgments Introduction iv xii xiii xiv Chapter 1: Android, the New Kid on the Block...
Touchstone -A Fresh Approach to Multimedia for the PC
Touchstone -A Fresh Approach to Multimedia for the PC Emmett Kilgariff Martin Randall Silicon Engineering, Inc Presentation Outline Touchstone Background Chipset Overview Sprite Chip Tiler Chip Compressed
Gauge Drawing Tool... 8. Slider Drawing Tool... 8. Toggle Button Drawing Tool... 8. One-Way List Drawing Tool... 8
v. 20120510 Table of Contents RTiPanel Overview and Requirements... 3 Software Requirements:... 3 Hardware Requirements:... 3 Network Requirements:... 3 Licensing Requirements:... 4 Basic Integration Designer
Advanced Rendering for Engineering & Styling
Advanced Rendering for Engineering & Styling Prof. B.Brüderlin Brüderlin,, M Heyer 3Dinteractive GmbH & TU-Ilmenau, Germany SGI VizDays 2005, Rüsselsheim Demands in Engineering & Styling Engineering: :
Getting Started: Creating the Backdrop
Adding ipad Animations to Green Screen Videos: Step 1 Getting Started: Creating the Backdrop 1. To start a new project: b. Select the + symbol on the top right of the screen. 2. To add a static background
News. Ad Specifications July 2016
News Ad Specifications July 2016 About Advertising on News News runs across iphone, ipod touch and ipad devices. Ad options include a variety of inline and interstitial display banners and pre-roll video
OpenEXR Image Viewing Software
OpenEXR Image Viewing Software Florian Kainz, Industrial Light & Magic updated 07/26/2007 This document describes two OpenEXR image viewing software programs, exrdisplay and playexr. It briefly explains
CLOUD GAMING WITH NVIDIA GRID TECHNOLOGIES Franck DIARD, Ph.D., SW Chief Software Architect GDC 2014
CLOUD GAMING WITH NVIDIA GRID TECHNOLOGIES Franck DIARD, Ph.D., SW Chief Software Architect GDC 2014 Introduction Cloud ification < 2013 2014+ Music, Movies, Books Games GPU Flops GPUs vs. Consoles 10,000
Design Your Own Photo Card Add a personal touch to your holiday greetings
IMAGE DIANA DAY Design Your Own Photo Card Add a personal touch to your holiday greetings By Diana Day Flat 4x8-inch photo cards, sometimes referred to as slimline cards, are popular for the holidays.
Remote Desktop Protocol Performance
MICROSOFT Remote Desktop Protocol Performance Presentation and Hosted Desktop Virtualization Team 10/13/2008 Contents Overview... 3 User Scenarios... 3 Test Setup... 4 Remote Desktop Connection Settings...
2. About iphone ios 5 Development Essentials. 5. Joining the Apple ios Developer Program
Table of Contents 1. Preface 2. About iphone ios 5 Development Essentials Example Source Code Feedback 3. The Anatomy of an iphone 4S ios 5 Display Wireless Connectivity Wired Connectivity Memory Cameras
Game Center Programming Guide
Game Center Programming Guide Contents About Game Center 8 At a Glance 9 Some Game Resources Are Provided at Runtime by the Game Center Service 9 Your Game Displays Game Center s User Interface Elements
Xcode Application note
1 Xcode Application note - how to export file from an ios application Feifei Li ECE480 Design Team 10 2 Table of Contents Introduction... 3 Get Started... 3 Familiar with Xcode... 6 Create user interface...
MA-WA1920: Enterprise iphone and ipad Programming
MA-WA1920: Enterprise iphone and ipad Programming Description This 5 day iphone training course teaches application development for the ios platform. It covers iphone, ipad and ipod Touch devices. This
Computer Graphics Hardware An Overview
Computer Graphics Hardware An Overview Graphics System Monitor Input devices CPU/Memory GPU Raster Graphics System Raster: An array of picture elements Based on raster-scan TV technology The screen (and
Outline. srgb DX9, DX10, XBox 360. Tone Mapping. Motion Blur
Outline srgb DX9, DX10, XBox 360 Tone Mapping Motion Blur srgb Outline srgb & gamma review Alpha Blending: DX9 vs. DX10 & XBox 360 srgb curve: PC vs. XBox 360 srgb Review Terminology: Color textures are
Image Synthesis. Transparency. computer graphics & visualization
Image Synthesis Transparency Inter-Object realism Covers different kinds of interactions between objects Increasing realism in the scene Relationships between objects easier to understand Shadows, Reflections,
Graphics Cards and Graphics Processing Units. Ben Johnstone Russ Martin November 15, 2011
Graphics Cards and Graphics Processing Units Ben Johnstone Russ Martin November 15, 2011 Contents Graphics Processing Units (GPUs) Graphics Pipeline Architectures 8800-GTX200 Fermi Cayman Performance Analysis
ipad, a revolutionary device - Apple
Flash vs HTML5 ipad, a revolutionary device Apple Lightweight and portable Sufficient battery life Completely Wireless Convenient multitouch interface Huge number of apps (some of them are useful) No Flash
Beginner level: Modules 1 to 18. Advanced level: Quick review of modules 1 to 18, then following to module 26. 1- A Simple ios Application
FROM 1st TO 4th OF FEBRUARY 2012 contents of the app s creation training track Beginner level: Modules 1 to 18. Advanced level: Quick review of modules 1 to 18, then following to module 26. 1- A Simple
Plug-in Software Developer Kit (SDK)
Updated February 2, 2012 2 modo 601 Plug-in Development Kit for PC and Mac The modo 601 Plug-in Software Development Kit provides a set of Application Programming Interfaces (APIs) and numerous source
ios App for Mobile Website! Documentation!
ios App for Mobile Website Documentation What is IOS App for Mobile Website? IOS App for Mobile Website allows you to run any website inside it and if that website is responsive or mobile compatible, you
PowerPoint 2007 Basics Website: http://etc.usf.edu/te/
Website: http://etc.usf.edu/te/ PowerPoint is the presentation program included in the Microsoft Office suite. With PowerPoint, you can create engaging presentations that can be presented in person, online,
Mobile Phones Operating Systems
Mobile Phones Operating Systems José Costa Software for Embedded Systems Departamento de Engenharia Informática (DEI) Instituto Superior Técnico 2015-05-28 José Costa (DEI/IST) Mobile Phones Operating
Operating Systems Introduction
Operating Systems Introduction Chester Rebeiro IIT Madras Webpage : http://www.cse.iitm.ac.in/~chester/courses/15o_os/index.html The Layers in Systems Applications Operating Systems Computer Organization
Mobile App Design and Development
Mobile App Design and Development The course includes following topics: Apps Development 101 Introduction to mobile devices and administrative: Mobile devices vs. desktop devices ARM and intel architectures
ios 9 Accessibility Switch Control - The Missing User Guide Updated 09/15/15
ios 9 Accessibility Switch Control - The Missing User Guide Updated 09/15/15 Apple, ipad, iphone, and ipod touch are trademarks of Apple Inc., registered in the U.S. and other countries. ios is a trademark
WEB, HYBRID, NATIVE EXPLAINED CRAIG ISAKSON. June 2013 MOBILE ENGINEERING LEAD / SOFTWARE ENGINEER
WEB, HYBRID, NATIVE EXPLAINED June 2013 CRAIG ISAKSON MOBILE ENGINEERING LEAD / SOFTWARE ENGINEER 701.235.5525 888.sundog fax: 701.235.8941 2000 44th St. S Floor 6 Fargo, ND 58103 www.sundoginteractive.com
L20: GPU Architecture and Models
L20: GPU Architecture and Models scribe(s): Abdul Khalifa 20.1 Overview GPUs (Graphics Processing Units) are large parallel structure of processing cores capable of rendering graphics efficiently on displays.
