Title 44pt Title Case Inside VR on Mobile · 2016-12-07 · Live demos of the techniques shown in...

26
Inside VR on Mobile Sam Martin GDC 2016 Graphics Architect

Transcript of Title 44pt Title Case Inside VR on Mobile · 2016-12-07 · Live demos of the techniques shown in...

Page 1: Title 44pt Title Case Inside VR on Mobile · 2016-12-07 · Live demos of the techniques shown in this session ... More tech talks at the ARM Lecture Theatre ... Bullets 24pt sentence

Title 44pt Title Case

Affiliations 24pt sentence case

20pt sentence case

Inside VR on Mobile

Sam Martin

GDC 2016

Graphics Architect

Page 2: Title 44pt Title Case Inside VR on Mobile · 2016-12-07 · Live demos of the techniques shown in this session ... More tech talks at the ARM Lecture Theatre ... Bullets 24pt sentence

© ARM2016 2

Title 40pt Title Case

Bullets 24pt sentence case

Sub-bullets 20pt sentence case

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

Page 3: Title 44pt Title Case Inside VR on Mobile · 2016-12-07 · Live demos of the techniques shown in this session ... More tech talks at the ARM Lecture Theatre ... Bullets 24pt sentence

© ARM 2016 3

Text 54pt Sentence Case Latency

Page 4: Title 44pt Title Case Inside VR on Mobile · 2016-12-07 · Live demos of the techniques shown in this session ... More tech talks at the ARM Lecture Theatre ... Bullets 24pt sentence

© ARM2016 4

Title 40pt Title Case

Bullets 24pt sentence case

Sub-bullets 20pt sentence case

Latency

“Motion to photons”

Target to be imperceptible: <20 ms

Achieved by GearVR and all tethered systems

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

GPU

Page 5: Title 44pt Title Case Inside VR on Mobile · 2016-12-07 · Live demos of the techniques shown in this session ... More tech talks at the ARM Lecture Theatre ... Bullets 24pt sentence

© ARM2016 5

Title 40pt Title Case

Bullets 24pt sentence case

Sub-bullets 20pt sentence case

Frame Pipelining

Geometry phases Pixel phases

Geometry phases Pixel phases

Geometry phases Pixel phases

Frame 0 Frame 1 Frame 2 Frame 3

Increases latency, but also increases throughput

Vertex work typically bandwidth bound – low ALU / load-store ratio

Overlapping with pixel work increases utilization

Page 6: Title 44pt Title Case Inside VR on Mobile · 2016-12-07 · Live demos of the techniques shown in this session ... More tech talks at the ARM Lecture Theatre ... Bullets 24pt sentence

© ARM2016 6

Title 40pt Title Case

Bullets 24pt sentence case

Sub-bullets 20pt sentence case

Recap of VR Pipeline

Rendering to eye buffer

Warped to display buffer

Lens magnification distortion

Chromatic aberration

Some redundant panel area

Eye buffer one of several sources

UI

Video

Eye buffer – 2048x1024

Display buffer – 2560x1440

Page 7: Title 44pt Title Case Inside VR on Mobile · 2016-12-07 · Live demos of the techniques shown in this session ... More tech talks at the ARM Lecture Theatre ... Bullets 24pt sentence

© ARM2016 7

Title 40pt Title Case

Bullets 24pt sentence case

Sub-bullets 20pt sentence case

Front Buffer Rendering

GearVR-specific extension

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

GPU

Page 8: Title 44pt Title Case Inside VR on Mobile · 2016-12-07 · Live demos of the techniques shown in this session ... More tech talks at the ARM Lecture Theatre ... Bullets 24pt sentence

© ARM2016 8

Title 40pt Title Case

Bullets 24pt sentence case

Sub-bullets 20pt sentence case

Page 9: Title 44pt Title Case Inside VR on Mobile · 2016-12-07 · Live demos of the techniques shown in this session ... More tech talks at the ARM Lecture Theatre ... Bullets 24pt sentence

© ARM2016 9

Title 40pt Title Case

Bullets 24pt sentence case

Sub-bullets 20pt sentence case

Page 10: Title 44pt Title Case Inside VR on Mobile · 2016-12-07 · Live demos of the techniques shown in this session ... More tech talks at the ARM Lecture Theatre ... Bullets 24pt sentence

© ARM2016 10

Title 40pt Title Case

Bullets 24pt sentence case

Sub-bullets 20pt sentence case

Page 11: Title 44pt Title Case Inside VR on Mobile · 2016-12-07 · Live demos of the techniques shown in this session ... More tech talks at the ARM Lecture Theatre ... Bullets 24pt sentence

© ARM2016 11

Title 40pt Title Case

Bullets 24pt sentence case

Sub-bullets 20pt sentence case

Page 12: Title 44pt Title Case Inside VR on Mobile · 2016-12-07 · Live demos of the techniques shown in this session ... More tech talks at the ARM Lecture Theatre ... Bullets 24pt sentence

© ARM2016 12

Title 40pt Title Case

Bullets 24pt sentence case

Sub-bullets 20pt sentence case

Page 13: Title 44pt Title Case Inside VR on Mobile · 2016-12-07 · Live demos of the techniques shown in this session ... More tech talks at the ARM Lecture Theatre ... Bullets 24pt sentence

© ARM2016 13

Title 40pt Title Case

Bullets 24pt sentence case

Sub-bullets 20pt sentence case

Page 14: Title 44pt Title Case Inside VR on Mobile · 2016-12-07 · Live demos of the techniques shown in this session ... More tech talks at the ARM Lecture Theatre ... Bullets 24pt sentence

© ARM2016 14

Title 40pt Title Case

Bullets 24pt sentence case

Sub-bullets 20pt sentence case

GPU write

Display read

Page 15: Title 44pt Title Case Inside VR on Mobile · 2016-12-07 · Live demos of the techniques shown in this session ... More tech talks at the ARM Lecture Theatre ... Bullets 24pt sentence

© ARM2016 15

Title 40pt Title Case

Bullets 24pt sentence case

Sub-bullets 20pt sentence case

GPU write

Display read

Page 16: Title 44pt Title Case Inside VR on Mobile · 2016-12-07 · Live demos of the techniques shown in this session ... More tech talks at the ARM Lecture Theatre ... Bullets 24pt sentence

© ARM2016 16

Title 40pt Title Case

Bullets 24pt sentence case

Sub-bullets 20pt sentence case

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

Page 17: Title 44pt Title Case Inside VR on Mobile · 2016-12-07 · Live demos of the techniques shown in this session ... More tech talks at the ARM Lecture Theatre ... Bullets 24pt sentence

© ARM 2016 17

Text 54pt Sentence Case Multiple Views

Page 18: Title 44pt Title Case Inside VR on Mobile · 2016-12-07 · Live demos of the techniques shown in this session ... More tech talks at the ARM Lecture Theatre ... Bullets 24pt sentence

© ARM2016 18

Title 40pt Title Case

Bullets 24pt sentence case

Sub-bullets 20pt sentence case

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

Page 19: Title 44pt Title Case Inside VR on Mobile · 2016-12-07 · Live demos of the techniques shown in this session ... More tech talks at the ARM Lecture Theatre ... Bullets 24pt sentence

© ARM2016 19

Title 40pt Title Case

Bullets 24pt sentence case

Sub-bullets 20pt sentence case

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

Page 20: Title 44pt Title Case Inside VR on Mobile · 2016-12-07 · Live demos of the techniques shown in this session ... More tech talks at the ARM Lecture Theatre ... Bullets 24pt sentence

© ARM2016 20

Title 40pt Title Case

Bullets 24pt sentence case

Sub-bullets 20pt sentence case

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

Mali VR SDK

Page 21: Title 44pt Title Case Inside VR on Mobile · 2016-12-07 · Live demos of the techniques shown in this session ... More tech talks at the ARM Lecture Theatre ... Bullets 24pt sentence

© ARM 2016 21

Text 54pt Sentence Case Performance Tuning

Page 22: Title 44pt Title Case Inside VR on Mobile · 2016-12-07 · Live demos of the techniques shown in this session ... More tech talks at the ARM Lecture Theatre ... Bullets 24pt sentence

© ARM2016 22

Title 40pt Title Case

Bullets 24pt sentence case

Sub-bullets 20pt sentence case

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

Page 23: Title 44pt Title Case Inside VR on Mobile · 2016-12-07 · Live demos of the techniques shown in this session ... More tech talks at the ARM Lecture Theatre ... Bullets 24pt sentence

© ARM2016 23

Title 40pt Title Case

Bullets 24pt sentence case

Sub-bullets 20pt sentence case

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!

Page 24: Title 44pt Title Case Inside VR on Mobile · 2016-12-07 · Live demos of the techniques shown in this session ... More tech talks at the ARM Lecture Theatre ... Bullets 24pt sentence

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

Thank you!

[email protected] @palgorithm

Up next…

Implementing Stereo Reflections in VR with Unity

Roberto Lopez Mendez, ARM

Page 25: Title 44pt Title Case Inside VR on Mobile · 2016-12-07 · Live demos of the techniques shown in this session ... More tech talks at the ARM Lecture Theatre ... Bullets 24pt sentence

© ARM 2016 25

Text 54pt Sentence Case

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

To Find Out More….

Page 26: Title 44pt Title Case Inside VR on Mobile · 2016-12-07 · Live demos of the techniques shown in this session ... More tech talks at the ARM Lecture Theatre ... Bullets 24pt sentence

© ARM2016 26

Title 40pt Title Case

Bullets 24pt sentence case

Sub-bullets 20pt sentence case

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

More Talks From ARM at GDC 2016 Available post-show at the Mali Developer Center: malideveloper.arm.com/