Inside VR on Mobile. Sam Martin Graphics Architect GDC 2016

Similar documents
Achieving High-performance Graphics on Mobile With the Vulkan API

Vulkan on Mobile. Daniele Di Donato, ARM GDC 2016

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

Mali-G72 Enabling tomorrow s technology today

Copyright Khronos Group Page 1

Achieving High Quality Mobile VR Games

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

Developing the Bifrost GPU architecture for mainstream graphics

Achieving Console Quality Games on Mobile

Bifrost - The GPU architecture for next five billion

Mali-G72: Enabling tomorrow s technology today

Moving Mobile Graphics Advanced Real-time Shadowing. Marius Bjørge ARM

Course Recap + 3D Graphics on Mobile GPUs

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

Optimized Rendering Techniques Based on Local Cubemaps

VR Rendering Improvements Featuring Autodesk VRED

Working with Metal Overview

PROFESSIONAL VR: AN UPDATE. Robert Menzel, Ingo Esser GTC 2018, March

Optimizing Mobile Games with ARM. Solo Chang Staff Applications Engineer, ARM

The Benefits of GPU Compute on ARM Mali GPUs

The Bifrost GPU architecture and the ARM Mali-G71 GPU

Mali Developer Resources. Kevin Ho ARM Taiwan FAE

Raise your VR game with NVIDIA GeForce Tools

The Ultimate Developers Toolkit. Jonathan Zarge Dan Ginsburg

Lecture 25: Board Notes: Threads and GPUs

Profiling and Debugging Games on Mobile Platforms

The Mobile Future of extended Reality (XR) Hugo Swart Senior Director, Product Management Qualcomm Technologies, Inc.

ASYNCHRONOUS SHADERS WHITE PAPER 0

Optimizing Mobile Games with Gameloft and ARM

PowerVR Hardware. Architecture Overview for Developers

Rendering. Converting a 3D scene to a 2D image. Camera. Light. Rendering. View Plane

Graphics Architectures and OpenCL. Michael Doggett Department of Computer Science Lund university

Parallelizing Graphics Pipeline Execution (+ Basics of Characterizing a Rendering Workload)

A SIMD-efficient 14 Instruction Shader Program for High-Throughput Microtriangle Rasterization

EECS 487: Interactive Computer Graphics

Parallelizing Graphics Pipeline Execution (+ Basics of Characterizing a Rendering Workload)

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

Enabling a Richer Multimedia Experience with GPU Compute. Roberto Mijat Visual Computing Marketing Manager

Architectures. Michael Doggett Department of Computer Science Lund University 2009 Tomas Akenine-Möller and Michael Doggett 1

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

Hardware- Software Co-design at Arm GPUs

EE 4702 GPU Programming

Profiling and Debugging OpenCL Applications with ARM Development Tools. October 2014

Mali Demos: Behind the Pixels. Stacy Smith

Head Mounted Display Optics I!

ARM Technology Forum. Multimedia Technology From ARM September Dennis Laudick VP Partner Marketing

SCALING GREAT VR. Nat Brown

Mali-400 MP: A Scalable GPU for Mobile Devices Tom Olson

Standards for WebVR. Neil Trevett. Khronos President Vice President Mobile Content,

Lecture 9: Deferred Shading. Visual Computing Systems CMU , Fall 2013

Copyright Khronos Group, Page Graphic Remedy. All Rights Reserved

Overview. Technology Details. D/AVE NX Preliminary Product Brief

PowerVR Series5. Architecture Guide for Developers

Vulkan Multipass mobile deferred done right

ASTC Does It. Eason Tang Staff Applications Engineer, ARM

CS 498 VR. Lecture 20-4/11/18. go.illinois.edu/vrlect20

CS451Real-time Rendering Pipeline

Mobile Graphics Ecosystem. Tom Olson OpenGL ES working group chair

Optimizing Games for ATI s IMAGEON Aaftab Munshi. 3D Architect ATI Research

Unreal Engine 4: Mobile Graphics on ARM CPU and GPU Architecture

Computer graphics 2: Graduate seminar in computational aesthetics

Programming Tips For Scalable Graphics Performance

Spring 2011 Prof. Hyesoon Kim

Rendering Grass with Instancing in DirectX* 10

Streaming Massive Environments From Zero to 200MPH

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

3D Reconstruction with Tango. Ivan Dryanovski, Google Inc.

The Graphics Pipeline

Rendering Objects. Need to transform all geometry then

Many rendering scenarios, such as battle scenes or urban environments, require rendering of large numbers of autonomous characters.

At NVIDIA, being a GPU company, clearly rendering performance is the area we re going to concentrate on, as that s where we can help the most.

NVIDIA Parallel Nsight. Jeff Kiel

Qualcomm Snapdragon Technologies

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

The Graphics Pipeline

Hello & welcome to this last part about many light rendering on mobile hardware, i.e. on devices like smart phones and tablets.

SIGGRAPH Briefing August 2014

Next-Generation Graphics on Larrabee. Tim Foley Intel Corp

Performance OpenGL Programming (for whatever reason)

Copyright Khronos Group Page 1. Vulkan Overview. June 2015

Programming shaders & GPUs Christian Miller CS Fall 2011

Case 1:17-cv SLR Document 1-3 Filed 01/23/17 Page 1 of 33 PageID #: 60 EXHIBIT C

Introduction to OpenGL ES 3.0

Why modern versions of OpenGL should be used Some useful API commands and extensions

Advanced Imaging Applications on Smart-phones Convergence of General-purpose computing, Graphics acceleration, and Sensors

Graphics Processing Unit Architecture (GPU Arch)

CS427 Multicore Architecture and Parallel Computing

Lecture 2. Shaders, GLSL and GPGPU

PowerVR Graphics - Latest Developments and Future Plans

Hardware-driven Visibility Culling Jeong Hyun Kim

Hardware-driven visibility culling

Dave Shreiner, ARM March 2009

Introduction to PowerVR Ray Tracing Tuesday 18th March, GDC. James A. McCombe

Bringing it all together: The challenge in delivering a complete graphics system architecture. Chris Porthouse

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

POWERVR MBX & SGX OpenVG Support and Resources

Silicon Graphics Prism TM : A Platform for Scalable Graphics

ARM. Mali GPU. OpenGL ES Application Optimization Guide. Version: 3.0. Copyright 2011, 2013 ARM. All rights reserved. ARM DUI 0555C (ID102813)

Spring 2009 Prof. Hyesoon Kim

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

Transcription:

Inside VR on Mobile Sam Martin Graphics Architect GDC 2016

VR Today Emerging technology Main mobile VR ecosystems Google Cardboard Samsung GearVR In this talk: Latency Multiple views Performance tuning "Gartner Hype Cycle" by Jeremykemp at English Wikipedia. Licensed under CC BY-SA 3.0 via Commons 2

Latency 3 ARM 2016

Latency Motion to photons Target to be imperceptible: <20 ms Achieved by GearVR and all tethered systems GPU GPUs are throughput processors Usually ok to increase latency if it improves throughput Android can/may triple buffer Graphics pipeline spread over multiple frames Display 4

Frame Pipelining Frame 0 Frame 1 Frame 2 Frame 3 Geometry phases Pixel phases Geometry phases Pixel phases Geometry phases Pixel phases Increases latency, but also increases throughput Vertex work typically bandwidth bound low ALU / load-store ratio Overlapping with pixel work increases utilization 5

Recap of VR Pipeline Rendering to eye buffer Warped to display buffer Lens magnification distortion Chromatic aberration Some redundant panel area Eye buffer 2048x1024 Eye buffer one of several sources UI Video Display buffer 2560x1440 6

Front Buffer Rendering GearVR-specific extension GPU Remove swap buffers, write to display frontbuffer Write to it just in time Low-persistence OLED display panels Panel only partial illuminated as scanned out Low persistence minimises blurring/smearing 60Hz+ refresh rate Display 7

8

9

10

11

12

13

GPU write Display read 14

GPU write Display read 15

Asynchronous Time Warp High and regular priority contexts Application - regular priority Time warp - pre-emptive high priority Decouples application and time warp rendering Can t account for changes in occlusion Animation Camera motion Near-eye objects 16

Multiple Views 17 ARM 2016

Multiple Views Options Submit everything twice Geometry shaders Multiview extensions: OVR_multiview, OVR_multiview2 Multiview Coming soon Vertex shader: uint gl_viewid_ovr gl_position-only unless OVR_multiview2 Mali supports both Inset rendering: num_views can be > 2! Disallows: Transform feedback Tessellation Geometry shader Timer queries 18

Mali Multiview Implementation Roughly 1 x CPU submission cost 1-1.5 x Vertex cost 1 x Fragment cost Saves CPU time on all implementations Common vertex processing done once on Mali Using view-dependent parameters will undo this Will reduce power / save energy May not affect performance unless vertex processing is a bottleneck 19

Mali VR SDK http://malideveloper.arm.com/resources/sdks/mali-vr-sdk/ Sample code, documentation Introduces the concepts of stereoscopic vision Fundamentals, calibration, correcting lens effects Multiview example 4x, 8x MSAA example 20

Performance Tuning 21 ARM 2016

Clock Locking For stability Also saves power but not as much as reducing work! Consider clocking as low as possible Beware of over-loading the CPUs Use multiple threads Keep work off SCHED_FIFO if it s not critical path 22

Bandwidth / Quality Bandwidth is... a consumer of power on high end systems something an application can minimise Geometry Usual advice - cull / reduce density where acceptable Vertex data - compact layout, interleave elements except position Varyings/interpolants - also cost bandwidth reducing precision can help Images ASTC - available on all OpenGL ES 3.0 devices shipping in volume AFBC - automatic 4x MSAA - close to free on Mali, use it! 23

Thank you! sam.martin@arm.com @palgorithm Up next Implementing Stereo Reflections in VR with Unity Roberto Lopez Mendez, ARM The trademarks featured in this presentation are registered and/or unregistered trademarks of ARM Limited (or its subsidiaries) in the EU and/or elsewhere. All rights reserved. All other marks featured may be trademarks of their respective owners. Copyright 2016 ARM Limited

To Find Out More. ARM Booth #1624 on Expo Floor: Live demos of the techniques shown in this session In-depth Q&A with ARM engineers More tech talks at the ARM Lecture Theatre http://malideveloper.arm.com/gdc2016: Revisit this talk in PDF and video format post GDC Download the tools and resources 25 ARM 2016

More Talks From ARM at GDC 2016 Available post-show at the Mali Developer Center: malideveloper.arm.com/ Vulkan on Mobile with Unreal Engine 4 Case Study Weds. 9:30am, West Hall 3022 Making Light Work of Dynamic Large Worlds Weds. 2pm, West Hall 2000 Achieving High Quality Mobile VR Games Thurs. 10am, West Hall 3022 Optimize Your Mobile Games With Practical Case Studies Thurs. 11:30am, West Hall 2404 An End-to-End Approach to Physically Based Rendering Fri. 10am, West Hall 2020 26