Texture Caching Implementation for Hardware Accelerated 2D Rendering
|
|
- Gerard Pierce
- 6 years ago
- Views:
Transcription
1 Texture Caching Implementation for Hardware Accelerated 2D Rendering 양정수 (Jeongsoo Yang) yangjeongsoo at gmail.com 4 Featured Sessions - Kandroid S/W Fundamentals Study Group 12 th Kandroid Conference, Terminology and History of Android Performance Features 2. Automated Historical Performance Analysis with kmemtracer 3. High Performance Apps Development with RenderScript 4. Texture Caching Implementation for Hardware Accelerated 2D Rendering
2 CONTENT 1. What is Open GL Texture? 2. Understanding GPU Memory 3. Case Study : a. Cocos2d-x Texture Cache b. Android HWUI Texture Cache c. Chrome Browser Texture Cache d. Android SurfaceFlinger Texture Cache 4. Conclusion 2
3 The true worth of a man is not to be found in man himself, but in the colours and textures that come alive in others. - Albert Schweitzer Source 3
4 1. Load Bitmap 2. Load Texture from Bitmap 3. Free Bitmap 4. Draw Target with Texture Bitmap mbitmaptexture = BitmapFactory.decodeResource(mContext.getResources(), R.drawable.texture1); nativeinit(mbitmaptexture); mbitmaptexture.recycle(); nativerender(); glgentextures(1, &texture); glbindtexture(gl_texture_2d, texture); gltexparameterx(gl_texture_2d, GL_TEXTURE_MIN_FILTER, GL_NEAREST); gltexparameterx(gl_texture_2d, GL_TEXTURE_MAG_FILTER, GL_LINEAR); AndroidBitmap_lockPixels(env, bitmap, &pixels); glteximage2d(gl_texture_2d, 0, GL_RGBA, bitmapinfo.width, bitmapinfo.height,0, GL_RGBA, GL_UNSIGNED_BYTE, pixels); AndroidBitmap_unlockPixels(env, bitmap); 4
5 CONTENT 1. What is Open GL Texture? 2. Understanding GPU Memory 3. Case Study : a. Cocos2d-x Texture Cache b. Android HWUI Texture Cache c. Chrome Browser Texture Cache d. Android SurfaceFlinger Texture Cache 4. Conclusion 5
6 High Performance Applications with RenderScript Google I/O GB/s 50GB/s ~12GB/s GDDR5 DDR3 ISP LPDDR3 DSP GPU PCIe ~12GB/s CPU GPU CPU 3+TFLOPs ~250GFLOPs 70GFLOPs ~20GFLOPs Desktop/Server System Architecture Mobile System Architecture 6
7 Source : 7
8 Source : 8
9 Source : 9
10 Geforce GPU Architecture in NVIDIA Tegra Source : 10
11 Source : 11
12 Source : 12
13 CONTENT 1. What is Open GL Texture? 2. Understanding GPU Memory 3. Case Study : a. Cocos2d-x Texture Cache b. Android HWUI Texture Cache c. Chrome Browser Texture Cache d. Android SurfaceFlinger Texture Cache 4. Conclusion 13
14 Beyond Android With the current market saturation, is it possible to create a new platform? B2G, Tizen, LG Web OS, Ubuntu Mobile The successful development of a new platform could lead to advances. Nevertheless, it would be just one more in an already saturated market. So, we must streamline the market and focus on cross-platform compatibility with the status quo. Web-based (e.g. PhoneGap) Native-based (e.g. Cocos2d-x) VM-based (e.g. Mono) 14
15 Relationship in Cocos2d Family Source : 15
16 Cocos2d-x Blank Screen Issue We had some reports that was blank screen problems, but we couldn t reproduce that error. 16
17 Some Checkpoints for Cocos2d-x Blank Screen Issue 1. EGL Context related Cocos2d-x Architecture 2. Process and Thread termination related Binder Handle Recovery Mechanism 3. Texture Cache related Cocos2d-x Android Director ActivityManager Scene Activity Layer Surface Sprite (Node) Widget (View) Animations Frame, Tweened, Property Texture Cache? 17
18 Some Checkpoints for Cocos2d-x Blank Screen Issue 4. Snapshot Analysis for Cocos2d-x Memory State 18
19 Some Checkpoints for Cocos2d-x Blank Screen Issue 4. Historical Analysis for Cocos2d-x Memory State D/cocos2d-x debug info(697): OpenGL error 0x ,000, ,000, ,000, ,000, ,000,000 80,000,000 60,000,000 40,000,000 Size Alloc Free Native Pss Other Pss 20,000,000-19
20 Some Checkpoints for Cocos2d-x Blank Screen Issue 4. Historical Analysis for Cocos2d-x Memory State D/cocos2d-x debug info(697): OpenGL error 0x0505 Director Scene Layer Sprite (Node) Animations Cocos2d-x Texture Cache TextureAtlas (sprite image based) TextureCache (file name based) Android ActivityManager Activity Surface Widget (View) Frame, Tweened, Property? 20
21 Some Checkpoints for Cocos2d-x Blank Screen Issue 4. Historical Analysis for Cocos2d-x Memory State Total Alloc Free NPss OPss 0 21
22 CONTENT 1. What is Open GL Texture? 2. Understanding GPU Memory 3. Case Study : a. Cocos2d-x Texture Cache b. Android HWUI Texture Cache c. Chrome Browser Texture Cache d. Android SurfaceFlinger Texture Cache 4. Conclusion 22
23 OpenGLRenderer (libhwui) Properties Property Type Default Value ro.hwui.disable_scissor_opt boolean false ro.hwui.texture_cache_size float 24 ro.hwui.layer_cache_size float 16 ro.hwui.gradient_cache_size Float 0.5 ro.hwui.path_cache_size float 4 ro.hwui.shape_cache_size float 1 ro.hwui.drop_shadow_cache_size float 2 ro.hwui.fbo_cache_size integer 16 ro.hwui.r_buffer_cache_size float 2 ro.hwui.texture_cache_flush_rate float 0.6 ro.hwui.text_small_cache_width integer 1024 ro.hwui.text_small_cache_height integer 256 ro.hwui.text_large_cache_width integer 2048 ro.hwui.text_large_cache_height integer 512 hwui.text_gamma_correction string lookup hwui.text_gamma float 1.4 hwui.text_gamma.black_threshold integer 64 hwui.text_gamma.white_threshold integer 192 hwui.use_gpu_pixel_buffers boolean true Source : 23
24 libhwui : frameworks/base/libs/hwui/texturecache.cpp hwui Cache mcache GenerationCache<SkBitmap*, Texture*> Texture* TextureCache::get(SkBitmap* bitmap) { TextureCache LayerCache GradientCache PathCache Texture* texture = mcache.get(bitmap); if (!texture) { generatetexture(bitmap, texture, false); mcache.put(bitmap, texture); } else if (bitmap->getgenerationid()!= texture->generation) { generatetexture(bitmap, texture, true); } } return texture; 24
25 Android Animations : Frame, Tweened, Property 25
26 Android Animations : Frame, Tweened, Property ImageView logoimage = (ImageView) findviewbyid(r.id.iv1); logoimage.setbackgroundresource(r.drawable.logo_animation); logoanimation = (AnimationDrawable) logoimage.getbackground(); logoanimation.start(); Caches: Current memory usage / total memory usage (bytes): TextureCache / LayerCache 0 / RenderBufferCache 0 / GradientCache 0 / PathCache 0 / TextDropShadowCache 0 / FontRenderer / Other: FboCache 0 / 16 PatchCache 1 / 512 Total memory usage: bytes, MB 26
27 CONTENT 1. What is Open GL Texture? 2. Understanding GPU Memory 3. Case Study : a. Cocos2d-x Texture Cache b. Android HWUI Texture Cache c. Chrome Browser Texture Cache d. Android SurfaceFlinger Texture Cache 4. Conclusion 27
28 Google I/O 2012 Keynote Android vs. Chrome 28
29 Google I/O 2013 Keynote Sundar Pichai (SVP, Android, Chrome & Apps) 29
30 Chrome s Multi-process Architecture on Android Browser Process Render Process Main Thread (UI) I/O Thread IPC Main Thread Render Thread android:process=":sandboxed_process0" android:isolatedprocess="true android:process=":privileged_process2" android:isolatedprocess="false" android:isolatedprocess If set to true, this service will run under a special process that is isolated from the rest of the system and has no permissions of its own. The only communication with it is through the Service API (binding and starting). 30
31 Chrome s Hardware Acceleration on Android Compositing with the GPU Thread Render Process WebKit / Skia Compositor Shared Memory Commands Bitmaps & Arrays IPC Browser Process GPU Thread (server) Compositor Context GL/D3D 31
32 Compositor Thread Architecture & Texture Upload One challenge with all these textures is that we rasterize them on the main thread of the renderer process, but need to actually get them into the GPU memory. This requires handing information about these textures (and their contents) to the impl thread, then to the GPU process, and once there, into the GL/D3D driver. Done naively, this causes us to copy a single texture over and over again, something we definitely don't want to do. We have two tricks that we use right now to make this a bit faster. To understand them, an aside on painting versus rasterization. Painting is the word we use for telling webkit to dump a part of its RenderObject tree to a GraphicsContext. We can pass the painting routine a GraphicsContext implementation that executes the commands as it receives them, or we can pass it a recording context that simply writes down the commands as it receives them. Rasterization is the word we use for actually executing graphics context commands. We typically execute the rasterization commands with the CPU (software rendering) but could also execute them directly with the GPU using Ganesh. Upload: this is us actually taking the contents of a rasterized bitmap in main memory and sending it to the GPU as a texture. With these definitions in mind, we deal with texture upload with the following tricks: Per-tile painting: we pass WebKit paint a recording context that simply records the GraphicsContext operations into an SkPicture data structure. We can then rasterize several texture tiles from that one picture. SHM upload: instead of rasterizing into a void* from the renderer heap, we allocate a shared memory buffer and upload into that instead. The GPU process then issues its gltex* operations using that shared memory, avoiding one texture copy. Source : 32
33 CONTENT 1. What is Open GL Texture? 2. Understanding GPU Memory 3. Case Study : a. Cocos2d-x Texture Cache b. Android HWUI Texture Cache c. Android Animation & Texture Cache d. Chrome Browser Texture Cache e. Android SurfaceFlinger Texture Cache 4. Conclusion 33
34 Beyond Android With the current market saturation, is it possible to create a new platform? B2G, Tizen, LG Web OS, Ubuntu Mobile The successful development of a new platform could lead to advances. Nevertheless, it would be just one more in an already saturated market. So, we must streamline the market and focus on cross-platform compatibility with the status quo. Web-based (e.g. PhoneGap) Native-based (e.g. Cocos2d-x) VM-based (e.g. Mono) 34
35 SurfaceFlinger and OpenGL Texture How Android is using Gralloc The magic part is that SurfaceFlinger does not need to do the equivalent of GrallocTextureHostOGL::Unlock. In our case, we have a separate OpenGL texture object for each TextureHost, which typically (at least in the case of a ContentHost) represent one buffer each (so a double-buffered ContentHost has two TextureHost's). So we have to unbind the GraphicBuffer from the OpenGL texture before we can hand it back to the content side --- otherwise it would remain locked for read and couldn't be locked for write for content drawing. By contrast, SurfaceFlinger does not need to worry about this because it uses only one OpenGL texture, so that when it binds a new GraphicBuffer to it for compositing, that automatically unbinds the previous one! Source : 35
36 Google I/O 2008 : Anatomy & Physiology of an Android APP APP Surface Surface SurfaceFlinger FrameBuffer Surface 36
37 Source : 4 th kandroid conference, 2009 APP SurfaceFlinger::instantiate() - AddSevice( Surface Flinger..) SurfaceFlinger::readyToRun() Surface - Gather EGL extensions - Create EGL Surface and Map Frame Buffer - Create our OpenGL ES context - Gather OpenGL ES extensions - Init Display Hardware for GPU APP Surface SurfaceFlinger::threadLoop() - Wait for Event - Check for tranaction - Post Surface (if needed) - Post FrameBuffer Surface Flinger Frame Buffer Surface 37
38 Google I/O 2012 : For Butter or Worse Draw DisplayList Swap Buffers Composite Windows Post Buffer Overlay GPU Overlay FB Buffer Overlay FB Overlay FB 38
39 CONTENT 1. What is Open GL Texture? 2. Understanding GPU Memory 3. Case Study : a. Cocos2d-x Texture Cache b. Android HWUI Texture Cache c. Chrome Browser Texture Cache d. Android SurfaceFlinger Texture Cache 4. Conclusion 39
40 IDC 2013 agenda Seoul, Korea - 12th November 2013 Developer Event Agenda 13:00-13:20 Registration and demos 13:20-13:40 13:40-14:40 Introduction to Imagination Bryce Johnstone, Senior Manager Ecosystems Marketing Imagination Hardware Architecture Kristof Beets, Senior Business Development Manager, Imagination 14:40-15:00 Coffee Break & Demos 15:00-16:00 16:00-17:00 17:00-17:15 PowerVR SDK and Utilities Bob Gardner, Developer Technology Engineer, Imagination PowerVR Tips and tricks : Maximise your performance Bob Gardner, Developer Technology Engineer, Imagination Q+A, wrap up and prize draw Bryce Johnstone, Senior Manager Ecosystems Marketing 17:15-19:15 Networking session - beer and hors d'oeuvres. 40
41 ARM Technology Symposia 2013 : 11 월 19 일 41
42 13 th Kandroid Conference, 2014 Graphics & GPU Morning Sessions : Open Sessions Afternoon Sessions : Featured Sessions 42
UI, Graphics & EFL. Carsten Haitzler Principal Engineer Samsung Electronics Korea Founder/Leader Enlightenment / EFL
UI, Graphics & EFL Carsten Haitzler Principal Engineer Samsung Electronics Korea c.haitzler@samsung.com Founder/Leader Enlightenment / EFL Display System Overview Graphics 4 Graphics Old-School FB 5 In
More informationOpenGL ES for iphone Games. Erik M. Buck
OpenGL ES for iphone Games Erik M. Buck Topics The components of a game n Technology: Graphics, sound, input, physics (an engine) n Art: The content n Fun: That certain something (a mystery) 2 What is
More informationWorking with Metal Overview
Graphics and Games #WWDC14 Working with Metal Overview Session 603 Jeremy Sandmel GPU Software 2014 Apple Inc. All rights reserved. Redistribution or public display not permitted without written permission
More informationBringing it all together: The challenge in delivering a complete graphics system architecture. Chris Porthouse
Bringing it all together: The challenge in delivering a complete graphics system architecture Chris Porthouse System Integration & the role of standards Content Ecosystem Java Execution Environment Native
More informationOpenGL on Android. Lecture 7. Android and Low-level Optimizations Summer School. 27 July 2015
OpenGL on Android Lecture 7 Android and Low-level Optimizations Summer School 27 July 2015 This work is licensed under the Creative Commons Attribution 4.0 International License. To view a copy of this
More informationECE 571 Advanced Microprocessor-Based Design Lecture 20
ECE 571 Advanced Microprocessor-Based Design Lecture 20 Vince Weaver http://www.eece.maine.edu/~vweaver vincent.weaver@maine.edu 12 April 2016 Project/HW Reminder Homework #9 was posted 1 Raspberry Pi
More informationKhronos and the Mobile Ecosystem
Copyright Khronos Group, 2011 - Page 1 Khronos and the Mobile Ecosystem Neil Trevett VP Mobile Content, NVIDIA President, Khronos Copyright Khronos Group, 2011 - Page 2 Topics It s not just about individual
More informationModule 13C: Using The 3D Graphics APIs OpenGL ES
Module 13C: Using The 3D Graphics APIs OpenGL ES BREW TM Developer Training Module Objectives See the steps involved in 3D rendering View the 3D graphics capabilities 2 1 3D Overview The 3D graphics library
More informationHardware Accelerated Graphics for High Performance JavaFX Mobile Applications
Hardware Accelerated Graphics for High Performance JavaFX Mobile Applications Pavel Petroshenko, Sun Microsystems Jan Valenta, Sun Microsystems Jerry Evans, Sun Microsystems Goal of this Session Demonstrate
More informationPOWERVR MBX & SGX OpenVG Support and Resources
POWERVR MBX & SGX OpenVG Support and Resources Kristof Beets 3 rd Party Relations Manager - Imagination Technologies kristof.beets@imgtec.com Copyright Khronos Group, 2006 - Page 1 Copyright Khronos Group,
More informationMobile Graphics Ecosystem. Tom Olson OpenGL ES working group chair
OpenGL ES in the Mobile Graphics Ecosystem Tom Olson OpenGL ES working group chair Director, Graphics Research, ARM Ltd 1 Outline Why Mobile Graphics? OpenGL ES Overview Getting Started with OpenGL ES
More informationWhiz-Bang Graphics and Media Performance for Java Platform, Micro Edition (JavaME)
Whiz-Bang Graphics and Media Performance for Java Platform, Micro Edition (JavaME) Pavel Petroshenko, Sun Microsystems, Inc. Ashmi Bhanushali, NVIDIA Corporation Jerry Evans, Sun Microsystems, Inc. Nandini
More informationDiscussion 3. PPM loading Texture rendering in OpenGL
Discussion 3 PPM loading Texture rendering in OpenGL PPM Loading - Portable PixMap format 1. 2. Code for loadppm(): http://ivl.calit2.net/wiki/images/0/09/loadppm.txt ppm file format: Header: 1. P6: byte
More informationPowerVR GPU IP from Wearables to Servers. Kristof Beets Director of Business Development May 2015
PowerVR GPU IP from Wearables to Servers Kristof Beets Director of Business Development May 2015 www.imgtec.com Expanding embedded GPU market opportunities Huge range of market opportunities equates to
More informationCS452/552; EE465/505. Image Processing Frame Buffer Objects
CS452/552; EE465/505 Image Processing Frame Buffer Objects 3-12 15 Outline! Image Processing: Examples! Render to Texture Read: Angel, Chapter 7, 7.10-7.13 Lab3 new due date: Friday, Mar. 13 th Project#1
More informationMobile HW and Bandwidth
Your logo on white Mobile HW and Bandwidth Andrew Gruber Qualcomm Technologies, Inc. Agenda and Goals Describe the Power and Bandwidth challenges facing Mobile Graphics Describe some of the Power Saving
More informationBest practices for effective OpenGL programming. Dan Omachi OpenGL Development Engineer
Best practices for effective OpenGL programming Dan Omachi OpenGL Development Engineer 2 What Is OpenGL? 3 OpenGL is a software interface to graphics hardware - OpenGL Specification 4 GPU accelerates rendering
More informationApplications and Implementations
Copyright Khronos Group, 2010 - Page 1 Applications and Implementations Hwanyong LEE CTO and Technical Marketing Director HUONE System Integration Application Acceleration Authoring and accessibility Khronos
More informationWindowing System on a 3D Pipeline. February 2005
Windowing System on a 3D Pipeline February 2005 Agenda 1.Overview of the 3D pipeline 2.NVIDIA software overview 3.Strengths and challenges with using the 3D pipeline GeForce 6800 220M Transistors April
More informationPowerVR Framework. October 2015
PowerVR Framework October 2015 Gerry Raptis Leading Developer Technology Engineer, PowerVR Graphics PowerVR Tools and SDK Overview Tools Development Debugging Optimisation Authoring SDK Development Learning
More informationCorey Clark PhD Daniel Montgomery
Corey Clark PhD Daniel Montgomery Web Dev Platform Cross Platform Cross Browser WebGL HTML5 Web Socket Web Worker Hardware Acceleration Optimized Communication Channel Parallel Processing JaHOVA OS Kernel
More informationNext Generation OpenGL Neil Trevett Khronos President NVIDIA VP Mobile Copyright Khronos Group Page 1
Next Generation OpenGL Neil Trevett Khronos President NVIDIA VP Mobile Ecosystem @neilt3d Copyright Khronos Group 2015 - Page 1 Copyright Khronos Group 2015 - Page 2 Khronos Connects Software to Silicon
More informationCopyright Khronos Group 2012 Page 1. Teaching GL. Dave Shreiner Director, Graphics and GPU Computing, ARM 1 December 2012
Copyright Khronos Group 2012 Page 1 Teaching GL Dave Shreiner Director, Graphics and GPU Computing, ARM 1 December 2012 Copyright Khronos Group 2012 Page 2 Agenda Overview of OpenGL family of APIs Comparison
More informationProfiling and Debugging Games on Mobile Platforms
Profiling and Debugging Games on Mobile Platforms Lorenzo Dal Col Senior Software Engineer, Graphics Tools Gamelab 2013, Barcelona 26 th June 2013 Agenda Introduction to Performance Analysis with ARM DS-5
More informationTHE LEADER IN VISUAL COMPUTING
MOBILE EMBEDDED THE LEADER IN VISUAL COMPUTING 2 TAKING OUR VISION TO REALITY HPC DESIGN and VISUALIZATION AUTO GAMING 3 BEST DEVELOPER EXPERIENCE Tools for Fast Development Debug and Performance Tuning
More informationECE 571 Advanced Microprocessor-Based Design Lecture 18
ECE 571 Advanced Microprocessor-Based Design Lecture 18 Vince Weaver http://www.eece.maine.edu/ vweaver vincent.weaver@maine.edu 11 November 2014 Homework #4 comments Project/HW Reminder 1 Stuff from Last
More informationOptimizing and Profiling Unity Games for Mobile Platforms. Angelo Theodorou Senior Software Engineer, MPG Gamelab 2014, 25 th -27 th June
Optimizing and Profiling Unity Games for Mobile Platforms Angelo Theodorou Senior Software Engineer, MPG Gamelab 2014, 25 th -27 th June 1 Agenda Introduction ARM and the presenter Preliminary knowledge
More informationBringing AAA graphics to mobile platforms. Niklas Smedberg Senior Engine Programmer, Epic Games
Bringing AAA graphics to mobile platforms Niklas Smedberg Senior Engine Programmer, Epic Games Who Am I A.k.a. Smedis Platform team at Epic Games Unreal Engine 15 years in the industry 30 years of programming
More informationGPGPU. Peter Laurens 1st-year PhD Student, NSC
GPGPU Peter Laurens 1st-year PhD Student, NSC Presentation Overview 1. What is it? 2. What can it do for me? 3. How can I get it to do that? 4. What s the catch? 5. What s the future? What is it? Introducing
More informationQtWayland. Creating Window Compositors with the QtWayland module
QtWayland Creating Window Compositors with the QtWayland module Andy Nichols 2012 A little about me... Andy Nichols Software Engineer at Digia 6 years of Qt experience Former Qt Support Engineer Maintainer
More informationIOS PERFORMANCE. Getting the most out of your Games and Apps
IOS PERFORMANCE Getting the most out of your Games and Apps AGENDA Intro to Performance The top 10 optimizations for your games and apps Instruments & Example Q&A WHO AM I? Founder of Prop Group www.prop.gr
More informationProgrammable GPUs. Real Time Graphics 11/13/2013. Nalu 2004 (NVIDIA Corporation) GeForce 6. Virtua Fighter 1995 (SEGA Corporation) NV1
Programmable GPUs Real Time Graphics Virtua Fighter 1995 (SEGA Corporation) NV1 Dead or Alive 3 2001 (Tecmo Corporation) Xbox (NV2A) Nalu 2004 (NVIDIA Corporation) GeForce 6 Human Head 2006 (NVIDIA Corporation)
More informationSpring 2011 Prof. Hyesoon Kim
Spring 2011 Prof. Hyesoon Kim Application Geometry Rasterizer CPU Each stage cane be also pipelined The slowest of the pipeline stage determines the rendering speed. Frames per second (fps) Executes on
More informationGPU Memory Model Overview
GPU Memory Model Overview John Owens University of California, Davis Department of Electrical and Computer Engineering Institute for Data Analysis and Visualization SciDAC Institute for Ultrascale Visualization
More informationLecture 1 Introduction to Android. App Development for Mobile Devices. App Development for Mobile Devices. Announcement.
CSCE 315: Android Lectures (1/2) Dr. Jaerock Kwon App Development for Mobile Devices Jaerock Kwon, Ph.D. Assistant Professor in Computer Engineering App Development for Mobile Devices Jaerock Kwon, Ph.D.
More informationIntroduction to creating 3D UI with BeagleBoard. ESC-341 Presented by Diego Dompe
Introduction to creating 3D UI with BeagleBoard ESC-341 Presented by Diego Dompe diego.dompe@ridgerun.com Agenda Introduction to BeagleBoard multimedia architecture features. Review of Linux graphic stacks
More informationCreating outstanding digital cockpits with Qt Automotive Suite
Creating outstanding digital cockpits with Qt Automotive Suite Get your digital cockpit first the finish line with Qt. Embedded World 2017 Trends in cockpit digitalization require a new approach to user
More informationAdding Advanced Shader Features and Handling Fragmentation
Copyright Khronos Group, 2010 - Page 1 Adding Advanced Shader Features and Handling Fragmentation How to enable your application on a wide range of devices Imagination Technologies Copyright Khronos Group,
More informationHTML5 for mobile development.
HTML5 for mobile development Txus Ordorika @txusinho @ludei HTML5 for development (I) HTML5 to be the silver bullet of development Low entrance - barrier Runs over VM (write once, run everywhere) ECMA-262
More informationGRAFIKA KOMPUTER. ~ M. Ali Fauzi
GRAFIKA KOMPUTER ~ M. Ali Fauzi Texture Mapping WHY TEXTURE? Imagine a Chess Floor Or a Brick Wall How to Draw? If you want to draw a chess floor, each tile must be drawn as a separate quad. A large flat
More informationSIGGRAPH Briefing August 2014
Copyright Khronos Group 2014 - Page 1 SIGGRAPH Briefing August 2014 Neil Trevett VP Mobile Ecosystem, NVIDIA President, Khronos Copyright Khronos Group 2014 - Page 2 Significant Khronos API Ecosystem Advances
More informationCSE 167: Introduction to Computer Graphics Lecture #7: Textures. Jürgen P. Schulze, Ph.D. University of California, San Diego Fall Quarter 2018
CSE 167: Introduction to Computer Graphics Lecture #7: Textures Jürgen P. Schulze, Ph.D. University of California, San Diego Fall Quarter 2018 Announcements Project 2 due this Friday at 2pm Grading in
More informationCS 428: Fall Introduction to. OpenGL primer. Andrew Nealen, Rutgers, /13/2010 1
CS 428: Fall 2010 Introduction to Computer Graphics OpenGL primer Andrew Nealen, Rutgers, 2010 9/13/2010 1 Graphics hardware Programmable {vertex, geometry, pixel} shaders Powerful GeForce 285 GTX GeForce480
More informationMobile AR Hardware Futures
Copyright Khronos Group, 2010 - Page 1 Mobile AR Hardware Futures Neil Trevett Vice President Mobile Content, NVIDIA President, The Khronos Group Two Perspectives NVIDIA - Tegra 2 mobile processor Khronos
More informationSpring 2009 Prof. Hyesoon Kim
Spring 2009 Prof. Hyesoon Kim Application Geometry Rasterizer CPU Each stage cane be also pipelined The slowest of the pipeline stage determines the rendering speed. Frames per second (fps) Executes on
More informationTexture Mapping. Mike Bailey.
Texture Mapping 1 Mike Bailey mjb@cs.oregonstate.edu This work is licensed under a Creative Commons Attribution-NonCommercial- NoDerivatives 4.0 International License TextureMapping.pptx The Basic Idea
More informationUnderstanding M3G 2.0 and its Effect on Producing Exceptional 3D Java-Based Graphics. Sean Ellis Consultant Graphics Engineer ARM, Maidenhead
Understanding M3G 2.0 and its Effect on Producing Exceptional 3D Java-Based Graphics Sean Ellis Consultant Graphics Engineer ARM, Maidenhead Introduction M3G 1.x Recap ARM M3G Integration M3G 2.0 Update
More information3D Graphics in Future Mobile Devices. Steve Steele, ARM
3D Graphics in Future Mobile Devices Steve Steele, ARM Market Trends Mobile Computing Market Growth Volume in millions Mobile Computing Market Trends 1600 Smart Mobile Device Shipments (Smartphones and
More informationLPGPU Workshop on Power-Efficient GPU and Many-core Computing (PEGPUM 2014)
A practitioner s view of challenges faced with power and performance on mobile GPU Prashant Sharma Samsung R&D Institute UK LPGPU Workshop on Power-Efficient GPU and Many-core Computing (PEGPUM 2014) SERI
More informationBlink: 3D Display Multiplexing for Virtualized Applications
: 3D Display Multiplexing for Virtualized Applications January 20, 2006 : 3D Display Multiplexing for Virtualized Applications Motivation Sprites and Tiles Lessons Learned GL in, GL out Communication Protocol
More informationGPGPU on Mobile Devices
GPGPU on Mobile Devices Introduction Addressing GPGPU for very mobile devices Tablets Smartphones Introduction Why dedicated GPUs in mobile devices? Gaming Physics simulation for realistic effects 3D-GUI
More informationNVIDIA GRID A True PC Experience for Everyone Anywhere
NVIDIA GRID A True PC Experience for Everyone Anywhere Why Every PC Has a GPU AGENDA NVIDIA GRID GPUs for Virtual Computing Solutions Roadmaps Resources at NVIDIA NVIDIA THE VISUAL COMPUTING COMPANY What
More informationMotivation Hardware Overview Programming model. GPU computing. Part 1: General introduction. Ch. Hoelbling. Wuppertal University
Part 1: General introduction Ch. Hoelbling Wuppertal University Lattice Practices 2011 Outline 1 Motivation 2 Hardware Overview History Present Capabilities 3 Programming model Past: OpenGL Present: CUDA
More informationMobile Graphics Trends: Applications. Marco Agus, KAUST & CRS4
Visual Computing Group Part 2.2 Mobile Graphics Trends: Applications Marco Agus, KAUST & CRS4 1 Visual Computing Group Part 3 Graphics development for mobile systems Marco Agus, KAUST & CRS4 2 Mobile Graphics
More informationBuilding X 2D rendering acceleration with OpenGL. Eric Anholt Intel Open Source Technology Center
Building X 2D rendering acceleration with OpenGL Eric Anholt Intel Open Source Technology Center How 2D has worked X has always implemented graphics acceleration in a hardware specific driver Acceleration
More informationApplications and Implementations
Copyright Khronos Group, 2010 - Page 1 Applications and Implementations Hwanyong LEE CTO and Technical Marketing Director HUONE OpenVG Royalty-free open standard API Low-level 2D vector graphics rendering
More informationHands-On Workshop: 3D Automotive Graphics on Connected Radios Using Rayleigh and OpenGL ES 2.0
Hands-On Workshop: 3D Automotive Graphics on Connected Radios Using Rayleigh and OpenGL ES 2.0 FTF-AUT-F0348 Hugo Osornio Luis Olea A P R. 2 0 1 4 TM External Use Agenda Back to the Basics! What is a GPU?
More informationIntroduction to OpenGL. CS 4620 Balazs Kovacs, 2014 Daniel Schroeder, 2013 Pramook Khungurn, 2012
Introduction to OpenGL CS 4620 Balazs Kovacs, 2014 Daniel Schroeder, 2013 Pramook Khungurn, 2012 Introduction Show how to produce graphics using OpenGL Introduce our framework for OpenGL programming OpenGL
More informationReal-Time Rendering (Echtzeitgraphik) Michael Wimmer
Real-Time Rendering (Echtzeitgraphik) Michael Wimmer wimmer@cg.tuwien.ac.at Walking down the graphics pipeline Application Geometry Rasterizer What for? Understanding the rendering pipeline is the key
More informationScanline Rendering 2 1/42
Scanline Rendering 2 1/42 Review 1. Set up a Camera the viewing frustum has near and far clipping planes 2. Create some Geometry made out of triangles 3. Place the geometry in the scene using Transforms
More informationCS 432 Interactive Computer Graphics
CS 432 Interactive Computer Graphics Lecture 7 Part 2 Texture Mapping in OpenGL Matt Burlick - Drexel University - CS 432 1 Topics Texture Mapping in OpenGL Matt Burlick - Drexel University - CS 432 2
More informationA176 Cyclone. GPGPU Fanless Small FF RediBuilt Supercomputer. IT and Instrumentation for industry. Aitech I/O
The A176 Cyclone is the smallest and most powerful Rugged-GPGPU, ideally suited for distributed systems. Its 256 CUDA cores reach 1 TFLOPS, and it consumes less than 17W at full load (8-10W at typical
More informationEmbedded Linux UI Comparison. Tim Bird Senior Staff Software Engineer Sony Electronics
Embedded Linux UI Comparison Tim Bird Senior Staff Software Engineer Sony Electronics 1 yyyy-mm-dd Agenda Embedded Linux UI options Comparison points Presence at ELC Evaluations
More informationBringing your Data to Life in the ArcGIS API for JavaScript: Vector Tiles. Craig Williams &
Bringing your Data to Life in the ArcGIS API for JavaScript: Vector Tiles Craig Williams & Rene Rubalcava @williamscraigm @odoenet Overview Why vector tiles? Vector tiles in ArcGIS ArcGIS vector tile basemaps
More informationLecture 22 Sections 8.8, 8.9, Wed, Oct 28, 2009
s The s Lecture 22 Sections 8.8, 8.9, 8.10 Hampden-Sydney College Wed, Oct 28, 2009 Outline s The 1 2 3 4 5 The 6 7 8 Outline s The 1 2 3 4 5 The 6 7 8 Creating Images s The To create a texture image internally,
More informationDesktop Mapping: Creating Vector Tiles. Craig Williams
Desktop Mapping: Creating Vector Tiles Craig Williams Edie Punt @williamscraigm @epunt Overview Why vector tiles? Vector tiles in ArcGIS ArcGIS vector tile basemaps Consuming and styling vector tiles Overview
More informationArcGIS Runtime: Building Cross-Platform Apps. Rex Hansen Mark Baird Michael Tims Morten Nielsen
ArcGIS Runtime: Building Cross-Platform Apps Rex Hansen Mark Baird Michael Tims Morten Nielsen Agenda Cross-platform review ArcGIS Runtime cross-platform options - Java - Qt -.NET ArcGIS Runtime: Building
More informationExercise 1 Introduction to OpenGL
Exercise 1 Introduction to OpenGL What we are going to do OpenGL Glut Small Example using OpenGl and Glut Alexandra Junghans 2 What is OpenGL? OpenGL Two Parts most widely used and supported graphics API
More informationAndroid on Tizen. Moscow State University
Android on Tizen 1 Moscow State University Presenter Andrey Shitov PhD Student at Lomonosov Moscow State University (MSU), Computational Mathematics and Cybernetics 2 Compilers, Virtual Machines, System
More informationGetting Started with the Smartphone and Tablet ArcGIS Runtime SDKs. David Martinez, Kris Bezdecny, Andy Gup, David Cardella
Getting Started with the Smartphone and Tablet ArcGIS Runtime SDKs David Martinez, Kris Bezdecny, Andy Gup, David Cardella Agenda Intro - Trends - Overview ArcGIS for - ios - Windows Phone - Android Wrap
More informationGPGPU on ARM. Tom Gall, Gil Pitney, 30 th Oct 2013
GPGPU on ARM Tom Gall, Gil Pitney, 30 th Oct 2013 Session Description This session will discuss the current state of the art of GPGPU technologies on ARM SoC systems. What standards are there? Where are
More informationINTEGRATING COMPUTER VISION SENSOR INNOVATIONS INTO MOBILE DEVICES. Eli Savransky Principal Architect - CTO Office Mobile BU NVIDIA corp.
INTEGRATING COMPUTER VISION SENSOR INNOVATIONS INTO MOBILE DEVICES Eli Savransky Principal Architect - CTO Office Mobile BU NVIDIA corp. Computer Vision in Mobile Tegra K1 It s time! AGENDA Use cases categories
More informationReal - Time Rendering. Pipeline optimization. Michal Červeňanský Juraj Starinský
Real - Time Rendering Pipeline optimization Michal Červeňanský Juraj Starinský Motivation Resolution 1600x1200, at 60 fps Hw power not enough Acceleration is still necessary 3.3.2010 2 Overview Application
More informationCUDA (Compute Unified Device Architecture)
CUDA (Compute Unified Device Architecture) Mike Bailey History of GPU Performance vs. CPU Performance GFLOPS Source: NVIDIA G80 = GeForce 8800 GTX G71 = GeForce 7900 GTX G70 = GeForce 7800 GTX NV40 = GeForce
More informationHTML5 Evolution and Development. Matt Spencer UI & Browser Marketing Manager
HTML5 Evolution and Development Matt Spencer UI & Browser Marketing Manager 1 HTML5 Ratified. finally! After 7 years of development, the HTML5 specification was ratified on 28 th October 14 urce>
More informationTips and Tricks: Designing low power Native and WebApps. Harita Chilukuri and Abhishek Dhanotia
Tips and Tricks: Designing low power Native and WebApps Harita Chilukuri and Abhishek Dhanotia Acknowledgements William Baughman for his help with the browser analysis Ross Burton & Thomas Wood for information
More informationAccelerating Cloud Graphics
Accelerating Cloud Graphics Franck DIARD, Ph. D. SW Architect Distinguished Engineer, NVIDIA Agenda 30 minute talk 10 minute demo 10 minute Q&A GeForce GRID Lower Latency Higher Density Higher Quality
More informationARM Multimedia IP: working together to drive down system power and bandwidth
ARM Multimedia IP: working together to drive down system power and bandwidth Speaker: Robert Kong ARM China FAE Author: Sean Ellis ARM Architect 1 Agenda System power overview Bandwidth, bandwidth, bandwidth!
More informationPowerVR Performance Recommendations. The Golden Rules
PowerVR Performance Recommendations Copyright Imagination Technologies Limited. All Rights Reserved. This publication contains proprietary information which is subject to change without notice and is supplied
More informationCT5510: Computer Graphics. Texture Mapping
CT5510: Computer Graphics Texture Mapping BOCHANG MOON Texture Mapping Simulate spatially varying surface properties Phong illumination model is coupled with a material (e.g., color) Add small polygons
More informationDynamic Display Tips and Tricks. John Hauck and Ralf Gottschalk
Dynamic Display Tips and Tricks John Hauck and Ralf Gottschalk Agenda What is Dynamic Display Dynamic Display Optimization - Setting up your machine Working with Static Layers - Creating an optimized map
More informationVulkan: Scaling to Multiple Threads. Kevin sun Lead Developer Support Engineer, APAC PowerVR Graphics
Vulkan: Scaling to Multiple Threads Kevin sun Lead Developer Support Engineer, APAC PowerVR Graphics www.imgtec.com Introduction Who am I? Kevin Sun Working at Imagination Technologies Take responsibility
More informationGDC 2014 Barthold Lichtenbelt OpenGL ARB chair
GDC 2014 Barthold Lichtenbelt OpenGL ARB chair Agenda OpenGL 4.4, news and updates - Barthold Lichtenbelt, NVIDIA Low Overhead Rendering with OpenGL - Cass Everitt, NVIDIA Copyright Khronos Group, 2010
More informationIntroducing Metal 2. Graphics and Games #WWDC17. Michal Valient, GPU Software Engineer Richard Schreyer, GPU Software Engineer
Session Graphics and Games #WWDC17 Introducing Metal 2 601 Michal Valient, GPU Software Engineer Richard Schreyer, GPU Software Engineer 2017 Apple Inc. All rights reserved. Redistribution or public display
More informationLecture 4 Native libraries
Lecture 4 Native libraries This work is licensed under the Creative Commons Attribution 4.0 International License. To view a copy of this license, visit http://creativecommons.org/licenses/by/4.0/ or send
More informationPowerVR Performance Recommendations. The Golden Rules
PowerVR Performance Recommendations Public. This publication contains proprietary information which is subject to change without notice and is supplied 'as is' without warranty of any kind. Redistribution
More informationTEGRA K1 による GPU コンピューティング
TEGRA K1 による GPU コンピューティング COMPUTE WITH TEGRA K1 馬路徹 シニア ソリューション アーキテクト NVIDIA AGENDA Introducing Tegra K1 Tegra K1 Compute Software Capabilities OpenGL GLSL OpenCL CUDA/Unified Memory Google Renderscript
More informationNVIDIA Parallel Nsight. Jeff Kiel
NVIDIA Parallel Nsight Jeff Kiel Agenda: NVIDIA Parallel Nsight Programmable GPU Development Presenting Parallel Nsight Demo Questions/Feedback Programmable GPU Development More programmability = more
More informationWebGL, WebCL and Beyond!
Copyright Khronos Group, 2011 - Page 1 WebGL, WebCL and Beyond! Neil Trevett Vice President Mobile Content, NVIDIA President, The Khronos Group Copyright Khronos Group, 2011 - Page 2 Topics in this Session
More informationBringing Vulkan to VR. Cass Everitt, Oculus
Bringing Vulkan to VR Cass Everitt, Oculus A Presentation in Two Acts The Graphics-API-Agnostic Design of the VrApi The Vulkan-Samples atw Sample Family as Proving Grounds Act One The Graphics-API-Agnostic
More informationPorting Tizen-IVI 3.0 to an ARM based SoC Platform. Damian Hobson-Garcia, IGEL Co., Ltd.
Porting Tizen-IVI 3.0 to an ARM based SoC Platform Damian Hobson-Garcia, IGEL Co., Ltd. Current State of Affairs Intel architecture (x86) system Tizen IVI 2.0alpha, Tizen IVI 3.0 ARM architecture based
More informationAndroid Internals and the Dalvik VM!
Android Internals and the Dalvik VM! Adam Champion, Andy Pyles, Boxuan Gu! Derived in part from presentations by Patrick Brady, Dan Bornstein, and Dan Morrill from Google (http://source.android.com/documentation)!
More informationOPENGL AND GLSL. Computer Graphics
OPENGL AND GLSL Computer Graphics 1 OUTLINE I. Detecting GLSL Errors II. Drawing a (gasp) Triangle! III. (Simple) Animation 2 Interactive Computer Graphics, http://www.mechapen.com/projects.html WHAT IS
More informationAcknowledgements. Thanks!
Acknowledgements After a year of research around a subject that I have found interesting for a long time I would like to thank my promotor Prof. dr. Peter Quax and co-promotor Prof. dr. Wim Lamotte for
More informationCS427 Multicore Architecture and Parallel Computing
CS427 Multicore Architecture and Parallel Computing Lecture 6 GPU Architecture Li Jiang 2014/10/9 1 GPU Scaling A quiet revolution and potential build-up Calculation: 936 GFLOPS vs. 102 GFLOPS Memory Bandwidth:
More informationWebGL. Announcements. WebGL for Graphics Developers. WebGL for Web Developers. Homework 5 due Monday, 04/16. Final on Tuesday, 05/01
Announcements Patrick Cozzi University of Pennsylvania CIS 565 - Spring 2012 Homework 5 due Monday, 04/16 In-class quiz Wednesday, 04/18 Final on Tuesday, 05/01 6-8pm David Rittenhouse Lab A7 Networking
More informationPresented by Alex Nicolaou
Presented by Alex Nicolaou The world wide Application Server More about Security: Design Principles Do not re-invent the wheel Principle of least privilege Sandboxed code is malicious code
More informationGraphics. Texture Mapping 고려대학교컴퓨터그래픽스연구실.
Graphics Texture Mapping 고려대학교컴퓨터그래픽스연구실 3D Rendering Pipeline 3D Primitives 3D Modeling Coordinates Model Transformation 3D World Coordinates Lighting 3D World Coordinates Viewing Transformation 3D Viewing
More informationMali Developer Resources. Kevin Ho ARM Taiwan FAE
Mali Developer Resources Kevin Ho ARM Taiwan FAE ARM Mali Developer Tools Software Development SDKs for OpenGL ES & OpenCL OpenGL ES Emulators Shader Development Studio Shader Library Asset Creation Texture
More informationShaders. Slide credit to Prof. Zwicker
Shaders Slide credit to Prof. Zwicker 2 Today Shader programming 3 Complete model Blinn model with several light sources i diffuse specular ambient How is this implemented on the graphics processor (GPU)?
More information