Texture Caching Implementation for Hardware Accelerated 2D Rendering

Size: px
Start display at page:

Download "Texture Caching Implementation for Hardware Accelerated 2D Rendering"

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 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 information

OpenGL ES for iphone Games. Erik M. Buck

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

More information

Working with Metal Overview

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

More information

Bringing 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 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 information

OpenGL 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 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 information

ECE 571 Advanced Microprocessor-Based Design Lecture 20

ECE 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 information

Khronos and the Mobile Ecosystem

Khronos 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 information

Module 13C: Using The 3D Graphics APIs OpenGL ES

Module 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 information

Hardware Accelerated Graphics for High Performance JavaFX Mobile Applications

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

More information

POWERVR MBX & SGX OpenVG Support and Resources

POWERVR 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 information

Mobile Graphics Ecosystem. Tom Olson OpenGL ES working group chair

Mobile 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 information

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

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

More information

Discussion 3. PPM loading Texture rendering in OpenGL

Discussion 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 information

PowerVR 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 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 information

CS452/552; EE465/505. Image Processing Frame Buffer Objects

CS452/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 information

Mobile HW and Bandwidth

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

More information

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

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

More information

Applications and Implementations

Applications 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 information

Windowing System on a 3D Pipeline. February 2005

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

More information

PowerVR Framework. October 2015

PowerVR 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 information

Corey Clark PhD Daniel Montgomery

Corey 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 information

Next Generation OpenGL Neil Trevett Khronos President NVIDIA VP Mobile Copyright Khronos Group Page 1

Next 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 information

Copyright 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 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 information

Profiling and Debugging Games on Mobile Platforms

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

More information

THE LEADER IN VISUAL COMPUTING

THE 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 information

ECE 571 Advanced Microprocessor-Based Design Lecture 18

ECE 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 information

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

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

More information

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

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

More information

GPGPU. Peter Laurens 1st-year PhD Student, NSC

GPGPU. 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 information

QtWayland. Creating Window Compositors with the QtWayland module

QtWayland. 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 information

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

IOS 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 information

Programmable GPUs. Real Time Graphics 11/13/2013. Nalu 2004 (NVIDIA Corporation) GeForce 6. Virtua Fighter 1995 (SEGA Corporation) NV1

Programmable 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 information

Spring 2011 Prof. Hyesoon Kim

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

More information

GPU Memory Model Overview

GPU 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 information

Lecture 1 Introduction to Android. App Development for Mobile Devices. App Development for Mobile Devices. Announcement.

Lecture 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 information

Introduction 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 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 information

Creating outstanding digital cockpits with Qt Automotive Suite

Creating 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 information

Adding Advanced Shader Features and Handling Fragmentation

Adding 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 information

HTML5 for mobile development.

HTML5 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 information

GRAFIKA KOMPUTER. ~ M. Ali Fauzi

GRAFIKA 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 information

SIGGRAPH Briefing August 2014

SIGGRAPH 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 information

CSE 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 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 information

CS 428: Fall Introduction to. OpenGL primer. Andrew Nealen, Rutgers, /13/2010 1

CS 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 information

Mobile AR Hardware Futures

Mobile 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 information

Spring 2009 Prof. Hyesoon Kim

Spring 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 information

Texture Mapping. Mike Bailey.

Texture 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 information

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

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

More information

3D Graphics in Future Mobile Devices. Steve Steele, ARM

3D 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 information

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

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

More information

Blink: 3D Display Multiplexing for Virtualized Applications

Blink: 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 information

GPGPU on Mobile Devices

GPGPU 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 information

NVIDIA GRID A True PC Experience for Everyone Anywhere

NVIDIA 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 information

Motivation Hardware Overview Programming model. GPU computing. Part 1: General introduction. Ch. Hoelbling. Wuppertal University

Motivation 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 information

Mobile Graphics Trends: Applications. Marco Agus, KAUST & CRS4

Mobile 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 information

Building 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 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 information

Applications and Implementations

Applications 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 information

Hands-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 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 information

Introduction 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 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 information

Real-Time Rendering (Echtzeitgraphik) Michael Wimmer

Real-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 information

Scanline Rendering 2 1/42

Scanline 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 information

CS 432 Interactive Computer Graphics

CS 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 information

A176 Cyclone. GPGPU Fanless Small FF RediBuilt Supercomputer. IT and Instrumentation for industry. Aitech I/O

A176 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 information

Embedded Linux UI Comparison. Tim Bird Senior Staff Software Engineer Sony Electronics

Embedded 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 information

Bringing 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 & 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 information

Lecture 22 Sections 8.8, 8.9, Wed, Oct 28, 2009

Lecture 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 information

Desktop Mapping: Creating Vector Tiles. Craig Williams

Desktop 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 information

ArcGIS 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 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 information

Exercise 1 Introduction to OpenGL

Exercise 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 information

Android on Tizen. Moscow State University

Android 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 information

Getting 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 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 information

GPGPU on ARM. Tom Gall, Gil Pitney, 30 th Oct 2013

GPGPU 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 information

INTEGRATING 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. 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 information

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

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

More information

CUDA (Compute Unified Device Architecture)

CUDA (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 information

HTML5 Evolution and Development. Matt Spencer UI & Browser Marketing Manager

HTML5 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 information

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

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

More information

Accelerating Cloud Graphics

Accelerating 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 information

ARM Multimedia IP: working together to drive down system power and bandwidth

ARM 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 information

PowerVR Performance Recommendations. The Golden Rules

PowerVR 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 information

CT5510: Computer Graphics. Texture Mapping

CT5510: 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 information

Dynamic Display Tips and Tricks. John Hauck and Ralf Gottschalk

Dynamic 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 information

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

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

More information

GDC 2014 Barthold Lichtenbelt OpenGL ARB chair

GDC 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 information

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

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

More information

Lecture 4 Native libraries

Lecture 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 information

PowerVR Performance Recommendations. The Golden Rules

PowerVR 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 information

TEGRA K1 による GPU コンピューティング

TEGRA 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 information

NVIDIA Parallel Nsight. Jeff Kiel

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

More information

WebGL, WebCL and Beyond!

WebGL, 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 information

Bringing Vulkan to VR. Cass Everitt, Oculus

Bringing 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 information

Porting 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. 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 information

Android Internals and the Dalvik VM!

Android 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 information

OPENGL AND GLSL. Computer Graphics

OPENGL 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 information

Acknowledgements. Thanks!

Acknowledgements. 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 information

CS427 Multicore Architecture and Parallel Computing

CS427 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 information

WebGL. Announcements. WebGL for Graphics Developers. WebGL for Web Developers. Homework 5 due Monday, 04/16. Final on Tuesday, 05/01

WebGL. 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 information

Presented by Alex Nicolaou

Presented 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 information

Graphics. Texture Mapping 고려대학교컴퓨터그래픽스연구실.

Graphics. 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 information

Mali Developer Resources. Kevin Ho ARM Taiwan FAE

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

More information

Shaders. Slide credit to Prof. Zwicker

Shaders. 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