Profiling and debugging your Unity mobile games
|
|
- Eugene Allison
- 7 years ago
- Views:
Transcription
1 Profiling and debugging your Unity mobile games Stephen Barton Technical Specialist Google Campus London 20/10/2016 ARM 2016
2 Agenda 1. Introduction to ARM tools for developers 2. DS-5 Streamline Performance Analyser 3. Mali Graphics Debugger 4. Mali Graphics Debugger in Unity 5. Analyse the performance of Ice Cave 6. Q & A 2 ARM 2016
3 Importance of Analysis & Debug Mobile Platforms Expectation of amazing console-like graphics and playing experience Screen resolution beyond HD Limited power budget Solution ARM Cortex CPUs and Mali GPUs are designed for low power whilst providing innovative features to keep up performance Software developers can be smart when developing apps Good tools can do the heavy lifting 3 Confidential ARM 2016
4 Mali Tools Suite 4 Confidential ARM 2016
5 Mali Offline Compiler Analyze shader performance Command line tool Number of cycles Registers utilization Mali Graphics Debugger API Trace & Debug OpenGL ES, OpenCL Debug and improve performance at frame level Mali GPU Tools Performance Analysis, Debug, and Software Development ARM DS-5 Streamline Profile CPUs and Mali GPUs Timeline HW Counters OpenCL visualizer OpenGL ES Emulator Emulate OpenGL ES 2.0, 3.1 Supports Android Extension Pack Windows and Linux Benchmarked against Khronos Texture Compression Tool Command line and GUI ETC, ETC2, ASTC, 3D textures ASTC encoder Available on GitHub 5 Conformance Suite Confidential ARM 2016
6 Development with tools from ARM Move to Target Develop Chosen IDE or engine Mali Offline Compiler Checks shader correctness Run Mali Emulator Mobile graphics on your desktop OpenGL ES Allows faster development iterations 6 Confidential ARM 2016
7 Performance Analysis and Debug with tools from ARM Analyze DS-5 Streamline Profile CPUs and Mali GPUs Timeline HW Counters OpenCL visualizer Optimize Mali Offline Compiler Analyze shader performance Command line tool Number of cycles Registers utilization Debug Mali Graphics Debugger API Trace & Debug OpenGL ES, OpenCL Debug and improve performance at frame level 7 Confidential ARM 2016
8 Speed Up Your Code Find out where the CPU is spending the most time Tune code for optimal cache usage Drill down to the Source Code Break performance down by function View it alongside the disassembly ARM DS-5 Streamline Performance Analyzer OpenCL Visualizer Visualization of OpenCL dependencies, helping you to balance resources between GPU and CPU better than ever Mali GPU Support Analyze and optimize Mali GPU utilization Monitor CPU and GPU cache usage Optimize energy efficiency Monitor actual power consumption with the ARM Energy Probe Correlate software execution to actual power consumption Customize it for Your System Flexible architecture permits easy addition of new counters Open source driver and daemon gives developers ultimate flexibility 8 Confidential ARM 2016
9 Process to Success Timeline Call Paths Functions Code Log Visualization of system performance metrics, software profile and system events over time Hierarchical profile table, aggregating samples per process, thread, and function call chain Flat software profile table, listing shared libraries and function hotspots Source and instruction level profile. Color coded source code lines for easy identification Chronologic list of text and graphic user annotations sent to Streamline, offering flexible filtering 9 Confidential ARM 2016
10 Timeline: Mali GPU Graphics Performance Analysis CPU and GPU fragment and vertex processing activity Mali GPU hardware and OpenGL driver counters, including samples screenshots Process heatmap focused on GPU Fragment activity 10
11 Advanced Drawing Modes Native mode Overdraw mode Advanced API Debugger Graphics debugging for content developers OpenGL ES 1.1, 2.0, 3.1, EGL, OpenCL Shader map mode Fragment count mode Mali Graphics Debugger Trace graphics and compute applications to debug issues and analyze the performance Frame Analyzer Understand issues and causes at frame level Complimentary to ARM DS-5 Streamline Android Application Start/stop daemon List all the debuggable processes Launch application to debug Graphics State Visibility Shows the current state of the API at any point of the trace Discover when and how a certain state was changed Analyse shaders and kernels All the shaders being used by the application are reported Shader statistics Each shader is compiled with the Mali Flexible and cross platform Runs on Windows, Linux and Mac Traces from Android and Linux targets 11 Confidential ARM 2016 Offline Compiler and is statically analyzed
12 Investigation with the ARM Mali Graphics Debugger Assets View Frame Statistics Frame Outline API Trace Dynamic Help Frame Capture: Framebuffers States Uniforms Vertex Attributes Buffers Textures Shaders 12
13 Mali Graphics Debugger Outline view Quick access to key graphics events Frames Render targets Draw calls Investigate at frame level Find what draw calls have higher geometry impact Jump between the outline view and the trace view seamlessly 13
14 Mali Graphics Debugger Target state Shows the current state of the API at any point of the trace Every time a new API call is selected in the trace the state is updated Useful to debug problems and understand causes for performance issues Discover when and how a certain state was changed 14
15 Mali Graphics Debugger All the heavy assets are available for debugging, including data buffers and textures. Buffers Client and server side buffers are captured every time they change See how each API call affects them Textures All the textures being uploaded are captured at native resolution Check their size, format and type 15
16 Mali Graphics Debugger Shaders reports and statistics All the shaders being used by the application are reported Shader statistics Each shader is compiled with the Mali Offline Compiler and is statically analyzed to display: number of instructions for each GPU pipeline number of work registers and uniform registers Additionally, for each draw call MGD knows how many times that shader has been executed (i.e. the number of vertices) and overall statistics are calculated 16
17 Mali Graphics Debugger Alternative drawing modes Different drawing modes can be forced and used both for live rendering and frame captures Native mode Frames are rendered with the original shaders Overdraw mode Highlights where overdraw happens (ie. objects are drawn on top of each other) Shader map mode Native shaders are replaced with different solid colors Fragment count mode All the fragments that are processed by each frame are counted 17
18 Mali Graphics Debugger with Unity 18 Confidential ARM 2016
19 Setup MGD for Unity 1 Step 1: Placing library in application Create the folder Assets\Plugins\Android folder in your project. Find the libmgd.so library in your MGD installation directory. It will be located in android-nonroot\arm\[armeabi-v7a/arm64-v8a] Copy this to your Assets\Plugins\Android directory. Step 2: Creating a new Android Activity 19
20 Setup MGD for Unity 2 Step 3: Compiling the activity into a class file Activity extends from the Unity activity so you need to add the classes.jar. As we are using Android we need to include the android.jar from the relevant SDK as well Android.jar needed from Android Classes.jar needed from Unity Step 4: Packaging activity up in a jar For Unity to use it we also need to pack up the files into a jar 20
21 Setup MGD for Unity 3 Step 5: Overloading default AndroidManifest.xml By default your new activity won t be loaded. To do this we need to create a new Android Manifest to load it. Place this file also in your Assets\Plugins\Android folder Step 6: Deploy & Trace Build your application like usual and generate your apk. Place the apk on device. Open the MGD application and select your application and you should be able to trace your application. Help can be found at community.arm.com and in the user documentation provided with MGD. 21
22 Mali Graphics Debugger New Features 22 ARM 2016
23 Mali Graphics Debugger Vulkan Support Trace Assets View Function Parameters Buffers Allows full API trace of Vulkan applications. Shows you easily all of the function parameters available. Implemented as a Vulkan layer which shows easy loading. Also shows Asset data and buffer information. Implemented perspectives to hide information that isn t related to a particular API 23 ARM 2016
24 Mali Graphics Debugger VR Support VR is becoming more and more popular. Games companies are generating more content. GDC this year had a dedicated day just for VR content. MGD supports VR by a series of heuristics to understand whether to treat glflush as the end of Frame or not. Works with Unity and internal demos. Ice Cave VR 24 Confidential ARM 2016
25 New Features in the Mali Graphics Debugger Geometry Viewer Visualize all of your geometry per draw call. Zero overhead to the application so you get this feature for free. Open all your old traces and they will now have this support. Render pass Dependencies MGD can now show you the dependencies on your scene. Can do this for textures, render buffers and blits of the Framebuffer Texture 1 Draws to Texture 1 Reads from Texture 1 Render pass 0 Render pass 1 25 Confidential ARM 2016 Render pass 1 has a dependency on render pass 0 due to texture 1
26 Case Study: Ice Cave 26 ARM 2016
27 Ice Cave 27
28 Main Bottlenecks CPU Too many draw calls Complex physics Vertex processing Too many vertices Too much computation per vertex CPU Memory Vertices Textures Uniforms Fragment processing Too many fragments, overdraw Too much computation per fragment Vertices Uniforms Triangles Varyings Textures Uniforms Varyings Pixels Bandwidth Big and uncompressed textures High resolution framebuffer Vertex Shader Fragment Shader 28
29 CPU Activity User 25% GPU Fragment Activity 99% GPU Vertex Activity 7% 29
30 CPU Bound Synchronous Rendering Mali GPU is a deferred architecture Do not force a pipeline flush by reading back data (glreadpixels, glfinish, etc.) Reduce the amount of draw calls Try to combine your draw calls together Offload some of the work to the GPU Move physics from CPU to GPU Deferred Rendering Avoid unnecessary OpenGL ES calls (glgeterror, redundant stage changes, etc.) 30
31 Vertex Bound Get your artist to remove unnecessary vertices LOD switching Only objects near the camera need to be in high detail Use culling Too many cycles in the vertex shader 31
32 Vertex Count and Shader Optimizations Identify the top heavyweight vertex shaders Vertex Cycles Per Program 10% 23% 12% 18% 37% Shader 164 Shader 158 Shader 173 Shader 176 Others 32
33 Fragment Bound - Inspect the Tripipe Counters Reduce the load on the Arithmetic pipeline GPU Cycles 593m Tripipe Cycles 576m Arithmetic 361m Texture 228m Load & Store 214m 33
34 Tripipe Counters Cycles per instruction metrics It s easy to calculate a couple of CPI (cycles per instruction) metrics: For the load/store pipeline we have: 228m (Mali Load/Store Pipe LS instruction issues) / 190m (Mali Load/Store Pipe LS instructions) = 1.2 cycles/instruction 100% 95% 90% 85% Stalls For the texture pipeline we have: 215m (Mali Texture Pipe T instruction issues) / 187m (Mali Texture Pipe T instructions) = 1.15 cycles/instruction 80% 75% Load & Store Pipeline Texture Pipeline Instructions 34
35 Fragment Bound Render to a smaller framebuffer Move computation from the fragment to the vertex shader (use HW interpolation) Drawing your objects front to back instead of back to front reduces overdraw Reduce the amount of transparency in the scene 35
36 Frame Analysis Check the overdraw factor 5x 3-5x 5x 8x 3x 36
37 Shader Map and Fragment Count Identify the top heavyweight fragment shaders Fragment Count Per Program ~10m instances / ( ) pixel = % 4% 7% 75% Program 175 Program 280 Program 181 Others 37
38 Bandwidth When creating embedded graphics applications, bandwidth is a scarce resource A typical embedded device can handle 5.0 Gigabytes a second of bandwidth A typical desktop GPU can do in excess of 100 Gigabytes a second The application is not bandwidth bound as it performs, over a period of one second: (96m (Mali L2 Cache External read beats) m (Mali L2 Cache External write beats)) x 16 ~= 2.9 GB/s Since bandwidth usage is related to energy consumption it s always worth optimizing it 38
39 Bandwidth Bound Vertices Reduce the number of vertices and varyings Interleave vertices, normals, texture coordinates Use Vertex Buffer Objects Fragments Use texture compression Enable texture mipmapping This will also cause a better cache utilization. 39
40 Resources Enhancing Your Mobile Games ARM Guide to Unity Connected Community Tools op-for-mali/tools/ 40
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
More informationOptimizing 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
More informationHow 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
More informationANDROID 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
More informationVisualizing gem5 via ARM DS-5 Streamline. Dam Sunwoo (dam.sunwoo@arm.com) ARM R&D December 2012
Visualizing gem5 via ARM DS-5 Streamline Dam Sunwoo (dam.sunwoo@arm.com) ARM R&D December 2012 1 The Challenge! System-level research and performance analysis becoming ever so complicated! More cores and
More informationTEGRA X1 DEVELOPER TOOLS SEBASTIEN DOMINE, SR. DIRECTOR SW ENGINEERING
TEGRA X1 DEVELOPER TOOLS SEBASTIEN DOMINE, SR. DIRECTOR SW ENGINEERING NVIDIA DEVELOPER TOOLS BUILD. DEBUG. PROFILE. C/C++ IDE INTEGRATION STANDALONE TOOLS HARDWARE SUPPORT CPU AND GPU DEBUGGING & PROFILING
More informationDevelopment With ARM DS-5. Mervyn Liu FAE Aug. 2015
Development With ARM DS-5 Mervyn Liu FAE Aug. 2015 1 Support for all Stages of Product Development Single IDE, compiler, debug, trace and performance analysis for all stages in the product development
More informationLow 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
More informationGetting 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
More informationOpenGL 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
More informationGPU 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
More informationOptimizing 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
More informationHow 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 (sjones@nvidia.com) Android By The Numbers 1.3M Android activations per day Android activations
More informationGPU 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
More informationComputer Graphics on Mobile Devices VL SS2010 3.0 ECTS
Computer Graphics on Mobile Devices VL SS2010 3.0 ECTS Peter Rautek Rückblick Motivation Vorbesprechung Spiel VL Framework Ablauf Android Basics Android Specifics Activity, Layouts, Service, Intent, Permission,
More informationShader 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
More informationSilverlight 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,
More informationCLOUD 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
More informationGraphics 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
More informationHow 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/
More informationRecent 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
More informationWorkshop on Android and Applications Development
Workshop on Android and Applications Development Duration: 2 Days (8 hrs/day) Introduction: With over one billion devices activated, Android is an exciting space to make apps to help you communicate, organize,
More informationVulkan on NVIDIA GPUs. Piers Daniell, Driver Software Engineer, OpenGL and Vulkan
Vulkan on NVIDIA GPUs Piers Daniell, Driver Software Engineer, OpenGL and Vulkan Who am I? Piers Daniell @piers_daniell Driver Software Engineer - OpenGL, OpenGL ES, Vulkan NVIDIA Khronos representative
More informationBeginning 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...
More informationAMD CodeXL 1.7 GA Release Notes
AMD CodeXL 1.7 GA Release Notes Thank you for using CodeXL. We appreciate any feedback you have! Please use the CodeXL Forum to provide your feedback. You can also check out the Getting Started guide on
More informationFinding 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
More informationMidgard GPU Architecture. October 2014
Midgard GPU Architecture October 2014 1 The Midgard Architecture HARDWARE EVOLUTION 2 3 Mali GPU Roadmap Mali-T760 High-Level Architecture Distributes tasks to shader cores Efficient mapping of geometry
More informationOpenGL 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
More informationIntroduction to NaviGenie SDK Client API for Android
Introduction to NaviGenie SDK Client API for Android Overview 3 Data access solutions. 3 Use your own data in a highly optimized form 3 Hardware acceleration support.. 3 Package contents.. 4 Libraries.
More informationDATA 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
More informationWhat is GPUOpen? Currently, we have divided console & PC development Black box libraries go against the philosophy of game development Game
1 2 3 4 What is GPUOpen? Currently, we have divided console & PC development Black box libraries go against the philosophy of game development Game developers are smart and inquisitive Game devs extract
More informationComputer 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
More informationOverview 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
More informationEqualizer. Parallel OpenGL Application Framework. Stefan Eilemann, Eyescale Software GmbH
Equalizer Parallel OpenGL Application Framework Stefan Eilemann, Eyescale Software GmbH Outline Overview High-Performance Visualization Equalizer Competitive Environment Equalizer Features Scalability
More informationL20: 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.
More informationAndroid Virtualization from Sierraware. Simply Secure
Android Virtualization from Sierraware Simply Secure Integration Challenges DRM Mandates TrustZone TEE Hypervisor provides the flexibility and security needed for BYOD Power management, responsibility
More informationWeb Based 3D Visualization for COMSOL Multiphysics
Web Based 3D Visualization for COMSOL Multiphysics M. Jüttner* 1, S. Grabmaier 1, W. M. Rucker 1 1 University of Stuttgart Institute for Theory of Electrical Engineering *Corresponding author: Pfaffenwaldring
More informationEnforce AD RMS Policies for PDF documents in SharePoint Environments... 5. Enforce AD RMS Policies for PDF documents in Exchange Environments...
1 Contents Introduction... 4 Foxit PDF Security Suite Environments... 5 Enforce AD RMS Policies for PDF documents in SharePoint Environments... 5 Enforce AD RMS Policies for PDF documents in Exchange Environments...
More informationDynamic 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
More informationCross-Platform Game Development Best practices learned from Marmalade, Unreal, Unity, etc.
Cross-Platform Game Development Best practices learned from Marmalade, Unreal, Unity, etc. Orion Granatir & Omar Rodriguez GDC 2013 www.intel.com/software/gdc Be Bold. Define the Future of Software. Agenda
More informationAndroid Development: a System Perspective. Javier Orensanz
Android Development: a System Perspective Javier Orensanz 1 ARM - Linux and Communities Linux kernel GNU Tools 2 Linaro Partner Initiative Mission: Make open source development easier by delivering a common
More informationAndroid Basics. Xin Yang 2016-05-06
Android Basics Xin Yang 2016-05-06 1 Outline of Lectures Lecture 1 (45mins) Android Basics Programming environment Components of an Android app Activity, lifecycle, intent Android anatomy Lecture 2 (45mins)
More informationGame Development in Android Disgruntled Rats LLC. Sean Godinez Brian Morgan Michael Boldischar
Game Development in Android Disgruntled Rats LLC Sean Godinez Brian Morgan Michael Boldischar Overview Introduction Android Tools Game Development OpenGL ES Marketing Summary Questions Introduction Disgruntled
More informationRapid Game Development Using Cocos2D-JS
Rapid Game Development Using Cocos2D-JS An End-To-End Guide to 2D Game Development using Javascript Hemanthkumar and Abdul Rahman This book is for sale at http://leanpub.com/cocos2d This version was published
More informationDeveloper 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
More informationAccelerate your Mobile Apps and Games for Android on ARM. Matthew Du Puy Software Engineer, ARM
Accelerate your Mobile Apps and Games for Android on ARM Matthew Du Puy Software Engineer, ARM Problem: This is not a desktop Mobile apps require special design considerations that aren t always clear
More informationImage 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
More informationNVPRO-PIPELINE A RESEARCH RENDERING PIPELINE MARKUS TAVENRATH MATAVENRATH@NVIDIA.COM SENIOR DEVELOPER TECHNOLOGY ENGINEER, NVIDIA
NVPRO-PIPELINE A RESEARCH RENDERING PIPELINE MARKUS TAVENRATH MATAVENRATH@NVIDIA.COM SENIOR DEVELOPER TECHNOLOGY ENGINEER, NVIDIA GFLOPS 3500 3000 NVPRO-PIPELINE Peak Double Precision FLOPS GPU perf improved
More informationDeveloping In Eclipse, with ADT
Developing In Eclipse, with ADT Android Developers file://v:\android-sdk-windows\docs\guide\developing\eclipse-adt.html Page 1 of 12 Developing In Eclipse, with ADT The Android Development Tools (ADT)
More informationCrosswalk: build world class hybrid mobile apps
Crosswalk: build world class hybrid mobile apps Ningxin Hu Intel Today s Hybrid Mobile Apps Application HTML CSS JS Extensions WebView of Operating System (Tizen, Android, etc.,) 2 State of Art HTML5 performance
More informationAdvanced Graphics and Animations for ios Apps
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
More informationAndroid and OpenGL. Android Smartphone Programming. Matthias Keil. University of Freiburg
Android and OpenGL Android Smartphone Programming Matthias Keil Institute for Computer Science Faculty of Engineering 16. Dezember 2013 Outline 1 OpenGL Introduction 2 Displaying Graphics 3 Interaction
More informationNVIDIA GeForce GTX 580 GPU Datasheet
NVIDIA GeForce GTX 580 GPU Datasheet NVIDIA GeForce GTX 580 GPU Datasheet 3D Graphics Full Microsoft DirectX 11 Shader Model 5.0 support: o NVIDIA PolyMorph Engine with distributed HW tessellation engines
More informationIntel Media Server Studio - Metrics Monitor (v1.1.0) Reference Manual
Intel Media Server Studio - Metrics Monitor (v1.1.0) Reference Manual Overview Metrics Monitor is part of Intel Media Server Studio 2015 for Linux Server. Metrics Monitor is a user space shared library
More informationAdvanced 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: :
More informationBasics of VTune Performance Analyzer. Intel Software College. Objectives. VTune Performance Analyzer. Agenda
Objectives At the completion of this module, you will be able to: Understand the intended purpose and usage models supported by the VTune Performance Analyzer. Identify hotspots by drilling down through
More informationEmpowering Developers to Estimate App Energy Consumption. Radhika Mittal, UC Berkeley Aman Kansal & Ranveer Chandra, Microsoft Research
Empowering Developers to Estimate App Energy Consumption Radhika Mittal, UC Berkeley Aman Kansal & Ranveer Chandra, Microsoft Research Phone s battery life is critical performance and user experience metric
More informationThe 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
More information[PACKTl. Flash Development for Android Cookbook. Flash, Flex, and AIR. Joseph Labrecque. Over 90 recipes to build exciting Android applications with
Flash Development for Android Cookbook Over 90 recipes to build exciting Android applications with Flash, Flex, and AIR Joseph Labrecque [PACKTl III IV I V I J PUBLISHING BIRMINGHAM - MUMBAI Preface 1
More informationUnreal Engine 4: Mobile Graphics on ARM CPU and GPU Architecture
Unreal Engine 4: Mobile Graphics on ARM CPU and GPU Architecture Ray Hwang, Segment Marketing Manager, ARM Jack Porter, Engine Development Lead, Epic Games Korea Hessed Choi, Senior Field Applications
More information-Android 2.3 is the most used version of Android on the market today with almost 60% of all Android devices running 2.3 Gingerbread -Winner of
1 2 3 -Android 2.3 is the most used version of Android on the market today with almost 60% of all Android devices running 2.3 Gingerbread -Winner of Internet Telephony Magazine s 2012 Product of the Year
More informationANDROID APPS DEVELOPMENT FOR MOBILE AND TABLET DEVICE (LEVEL I)
ANDROID APPS DEVELOPMENT FOR MOBILE AND TABLET DEVICE (LEVEL I) Who am I? Lo Chi Wing, Peter Lecture 1: Introduction to Android Development Email: Peter@Peter-Lo.com Facebook: http://www.facebook.com/peterlo111
More informationENHANCEMENT OF TEGRA TABLET'S COMPUTATIONAL PERFORMANCE BY GEFORCE DESKTOP AND WIFI
ENHANCEMENT OF TEGRA TABLET'S COMPUTATIONAL PERFORMANCE BY GEFORCE DESKTOP AND WIFI Di Zhao The Ohio State University GPU Technology Conference 2014, March 24-27 2014, San Jose California 1 TEGRA-WIFI-GEFORCE
More informationIntroduction GPU Hardware GPU Computing Today GPU Computing Example Outlook Summary. GPU Computing. Numerical Simulation - from Models to Software
GPU Computing Numerical Simulation - from Models to Software Andreas Barthels JASS 2009, Course 2, St. Petersburg, Russia Prof. Dr. Sergey Y. Slavyanov St. Petersburg State University Prof. Dr. Thomas
More informationVALAR: A BENCHMARK SUITE TO STUDY THE DYNAMIC BEHAVIOR OF HETEROGENEOUS SYSTEMS
VALAR: A BENCHMARK SUITE TO STUDY THE DYNAMIC BEHAVIOR OF HETEROGENEOUS SYSTEMS Perhaad Mistry, Yash Ukidave, Dana Schaa, David Kaeli Department of Electrical and Computer Engineering Northeastern University,
More informationQNX 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
More informationGuided Performance Analysis with the NVIDIA Visual Profiler
Guided Performance Analysis with the NVIDIA Visual Profiler Identifying Performance Opportunities NVIDIA Nsight Eclipse Edition (nsight) NVIDIA Visual Profiler (nvvp) nvprof command-line profiler Guided
More informationOctaVis: A Simple and Efficient Multi-View Rendering System
OctaVis: A Simple and Efficient Multi-View Rendering System Eugen Dyck, Holger Schmidt, Mario Botsch Computer Graphics & Geometry Processing Bielefeld University Abstract: We present a simple, low-cost,
More informationHow To Develop Android On Your Computer Or Tablet Or Phone
AN INTRODUCTION TO ANDROID DEVELOPMENT CS231M Alejandro Troccoli Outline Overview of the Android Operating System Development tools Deploying application packages Step-by-step application development The
More informationCSE 564: Visualization. GPU Programming (First Steps) GPU Generations. Klaus Mueller. Computer Science Department Stony Brook University
GPU Generations CSE 564: Visualization GPU Programming (First Steps) Klaus Mueller Computer Science Department Stony Brook University For the labs, 4th generation is desirable Graphics Hardware Pipeline
More informationPure1 Manage User Guide
User Guide 11/2015 Contents Overview... 2 Pure1 Manage Navigation... 3 Pure1 Manage - Arrays Page... 5 Card View... 5 Expanded Card View... 7 List View... 10 Pure1 Manage Replication Page... 11 Pure1
More informationIntel Graphics Media Accelerator 900
Intel Graphics Media Accelerator 900 White Paper September 2004 Document Number: 302624-003 INFOMATION IN THIS DOCUMENT IS POVIDED IN CONNECTION WITH INTEL PODUCTS. NO LICENSE, EXPESS O IMPLIED, BY ESTOPPEL
More informationGetting Started with Tizen SDK : How to develop a Web app. Hong Gyungpyo 洪 競 杓 Samsung Electronics Co., Ltd
Getting Started with Tizen SDK : How to develop a Web app Hong Gyungpyo 洪 競 杓 Samsung Electronics Co., Ltd Introduction to Tizen SDK Tizen Platform (1/2) Application Web Applications Native Applications
More informationZing Vision. Answering your toughest production Java performance questions
Zing Vision Answering your toughest production Java performance questions Outline What is Zing Vision? Where does Zing Vision fit in your Java environment? Key features How it works Using ZVRobot Q & A
More informationRadeon HD 2900 and Geometry Generation. Michael Doggett
Radeon HD 2900 and Geometry Generation Michael Doggett September 11, 2007 Overview Introduction to 3D Graphics Radeon 2900 Starting Point Requirements Top level Pipeline Blocks from top to bottom Command
More informationCMSC 427 Computer Graphics Programming Assignment 1: Introduction to OpenGL and C++ Due Date: 11:59 PM, Sept. 15, 2015
CMSC 427 Computer Graphics Programming Assignment 1: Introduction to OpenGL and C++ Due Date: 11:59 PM, Sept. 15, 2015 Project Submission: 1) Delete all intermediate files (run the command make clean)
More informationAlso on the Performance tab, you will find a button labeled Resource Monitor. You can invoke Resource Monitor for additional analysis of the system.
1348 CHAPTER 33 Logging and Debugging Monitoring Performance The Performance tab enables you to view the CPU and physical memory usage in graphical form. This information is especially useful when you
More informationGPGPU Computing. Yong Cao
GPGPU Computing Yong Cao Why Graphics Card? It s powerful! A quiet trend Copyright 2009 by Yong Cao Why Graphics Card? It s powerful! Processor Processing Units FLOPs per Unit Clock Speed Processing Power
More informationVMware Server 2.0 Essentials. Virtualization Deployment and Management
VMware Server 2.0 Essentials Virtualization Deployment and Management . This PDF is provided for personal use only. Unauthorized use, reproduction and/or distribution strictly prohibited. All rights reserved.
More informationDeveloping And Marketing Mobile Applications. Presented by: Leesha Roberts, Senior Instructor, Center for Education Programmes, UTT
Developing And Marketing Mobile Applications Presented by: Leesha Roberts, Senior Instructor, Center for Education Programmes, UTT MOBILE MARKETING What is a Mobile App? A mobile app is a software application
More informationProgramming 3D Applications with HTML5 and WebGL
Programming 3D Applications with HTML5 and WebGL Tony Parisi Beijing Cambridge Farnham Köln Sebastopol Tokyo Table of Contents Preface ix Part I. Foundations 1. Introduction 3 HTML5: A New Visual Medium
More informationTechnology in Action. Alan Evans Kendall Martin Mary Anne Poatsy. Eleventh Edition. Copyright 2015 Pearson Education, Inc.
Technology in Action Alan Evans Kendall Martin Mary Anne Poatsy Eleventh Edition Technology in Action Chapter 4 System Software: The Operating System, Utility Programs, and File Management. Chapter Topics
More informationWiley Publishing, Inc.
CREATING ANDROID AND IPHONE APPLICATIONS Richard Wagner WILEY Wiley Publishing, Inc. INTRODUCTION xv CHAPTER 1: INTRODUCING FLASH DEVELOPMENT FOR MOBILE DEVICES 3 Expanding to the Mobile World 3 Discovering
More informationfile://d:\webs\touch-base.com\htdocs\documentation\androidplatformnotes52.htm
Page 1 of 5 Deliverables Requirements Installation Uninstall Supported programs Limitations Contact Welcome to UPDD Android platform specific installation instructions and related notes for UPDD version
More informationBIRT ihub 3. 2013 Actuate Customer Days. Wow that looks good! Jeff Morris & Mark Gamble
BIRT ihub 3 Wow that looks good! Jeff Morris & Mark Gamble SF Nov7 - UK Nov12 - DE Nov13 - FR Nov14 - SG Nov19 - JP Nov22 - NY Dec4 2013 Actuate Customer Days Actuate BIRT ihub 3 Focus Areas Simplified,
More informationAndroid Geek Night. Application framework
Android Geek Night Application framework Agenda 1. Presentation 1. Trifork 2. JAOO 2010 2. Google Android headlines 3. Introduction to an Android application 4. New project using ADT 5. Main building blocks
More informationRadeon 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
More informationAbout Parallels Desktop 7 for Mac
About Parallels Desktop 7 for Mac Parallels Desktop 7 for Mac is a major upgrade to Parallels' award-winning software for running Windows on a Mac. About this Update This update for Parallels Desktop for
More informationQuareo ICM Server Software
The Quareo Infrastructure Configuration Manager (ICM) is a server software application designed to document and administer both passive and active network connectivity infrastructure. ICM enables management
More informationIntroduction to TIZEN SDK
Introduction to TIZEN SDK Hyungoo Kang, Kangho Kim S-Core, Samsung April, 2012 2012 SAMSUNG Electronics Co. Contents Overview Tizen SDK (selected features) Demo (10 minutes) Conclusion 2/20 2012 SAMSUNG
More informationOptimization for DirectX9 Graphics. Ashu Rege
Optimization for DirectX9 Graphics Ashu Rege Last Year: Batch, Batch, Batch Moral of the story: Small batches BAD What is a batch Every DrawIndexedPrimitive call is a batch All render, texture, shader,...
More informationGearVRf Developer Guide
GearVRf Developer Guide Welcome to GearVRf development! The Gear VR Framework (GearVRf) allows you, the Android developer, to write your own stereoscopic 3D virtual reality Java applications for the Samsung
More informationAMD GPU Architecture. OpenCL Tutorial, PPAM 2009. Dominik Behr September 13th, 2009
AMD GPU Architecture OpenCL Tutorial, PPAM 2009 Dominik Behr September 13th, 2009 Overview AMD GPU architecture How OpenCL maps on GPU and CPU How to optimize for AMD GPUs and CPUs in OpenCL 2 AMD GPU
More informationNext Generation GPU Architecture Code-named Fermi
Next Generation GPU Architecture Code-named Fermi The Soul of a Supercomputer in the Body of a GPU Why is NVIDIA at Super Computing? Graphics is a throughput problem paint every pixel within frame time
More informationProfiler User's Guide
Version 2016 www.pgroup.com TABLE OF CONTENTS Profiling Overview... iv What's New... iv Terminology... v Chapter 1. Preparing An Application For Profiling...1 1.1. Focused Profiling...1 1.2. Marking Regions
More informationAndroid Environment SDK
Part 2-a Android Environment SDK Victor Matos Cleveland State University Notes are based on: Android Developers http://developer.android.com/index.html 1 2A. Android Environment: Eclipse & ADT The Android
More informationGPU Usage. Requirements
GPU Usage Use the GPU Usage tool in the Performance and Diagnostics Hub to better understand the high-level hardware utilization of your Direct3D app. You can use it to determine whether the performance
More informationCOMMANDS 1 Overview... 1 Default Commands... 2 Creating a Script from a Command... 10 Document Revision History... 10
LabTech Commands COMMANDS 1 Overview... 1 Default Commands... 2 Creating a Script from a Command... 10 Document Revision History... 10 Overview Commands in the LabTech Control Center send specific instructions
More informationColor correction in 3D environments Nicholas Blackhawk
Color correction in 3D environments Nicholas Blackhawk Abstract In 3D display technologies, as reviewers will say, color quality is often a factor. Depending on the type of display, either professional
More informationThe full setup includes the server itself, the server control panel, Firebird Database Server, and three sample applications with source code.
Content Introduction... 2 Data Access Server Control Panel... 2 Running the Sample Client Applications... 4 Sample Applications Code... 7 Server Side Objects... 8 Sample Usage of Server Side Objects...
More information