SlideShare a Scribd company logo
Get the Most Out of Mobile
withVulkan in Unity
Roberto Lopez Mendez
DevGAMM Moscow 2017
Senior Engineer
18/05/2017
©ARM20172
Agenda
 The benefits of theVulkan graphics API
 Multi-threading
 Multipass
 Vulkan vs OpenGL ES with Sky Force Reloaded
 Mali Graphics Debugger (MGD)
 Integration in Unity
 Live demo
 Wrap up
©ARM 20173
The benefits of theVulkan graphics API
©ARM20174
Multi-threading / multicore efficiency
 Created from the ground to be thread-friendly
 Multi-threading widely considered in the specs
 Multi-threading responsibility moved to application level
 The application has better visibility
 Efficient utilization of multiprocessor architecture
 Lower CPU load and energy consumption
 Spread work out faster to multiple cores
 Able to schedule and migrate tasks between ARM ® big.LITTLETM cores according to the load
©ARM20175
Multi-pass rendering
 Everything is declared ahead of time in the render pass
 Each sub pass can specify different outputs and they can be chained together
 Very performant in tiled GPUs such as ARM Mali GPUs
 Each pixel in a sub-pass can access the result of the previous sub-pass
 All data can be contained on the fast on-chip memory, saving bandwidth
 Example of use-cases:
 Deferred rendering
 Soft-particles
 Tone-mapping
©ARM20176
Vulkan benefits in Lofoten demo
SCENE INFO
• ~ 100 lights with shadow
maps
• 3M primitives (reduced to
500K with very efficient
occlusion culling)
• 500 draw calls
• Sun light with cascade
shadow map
• ~ 10 reflection probes
• FFT compute in ocean
rendering
• Deferred shading using
multi-pass
• 10x less load on CPU
with multithreading
©ARM 20177
Sky Force Reloaded with
Vulkan and Unity
©ARM20178
What is Sky Force Reloaded?

 Modern shoot‘em experience
 Intense action, very rich graphics
 Pushing CPU and GPU to the limits
©ARM20179
©ARM201710
Performance issues in Sky Force Reloaded
 Performance issues on OpenGL ES
 Even on high-end devices it was not possible to maintain 60 FPS all of the time
 Fill rate was not the bottleneck
 Up to 1000 draw calls per frame
 CPU was spending a lot of time preparing data for GPU
©ARM201711
Performance benchmark
 Draw calls are expensive
 OpenGL ES driver is not optimal
 PerhapsVulkan can help?
 Vulkan is supported by Unity!
©ARM201712
Sky Force Reloaded:Vulkan vs OpenGL ES
Best case 21% faster
using Vulkan.
On average 15%
faster using Vulkan.
©ARM201713
Sky Force Reloaded: Increased workload
Best case 82% faster
using Vulkan.
On average 32%
faster using Vulkan.
©ARM201714
Extra power enabled byVulkan
 More content
 Add more particle, objects or animations
 Keep the same FPS with richer graphics
©ARM201715
©ARM201716
Power consumption test
 Power consumption is a problem
 Players were not happy
 Console-like quality games consume a lot of power
 Can Vulkan help?
©ARM201717
©ARM201718
Power consumption test
 Vulkan consumed 10 to 12% less power in the game
 Majority of savings come from the CPU
 Extra minutes of playtime with Vulkan!
©ARM201719
Summary
 Great to use “out of the box”
 Improves your FPS
 Adds some extra minutes of playtime
 You can add some more graphics and make your game look better
©ARM 201720
Mali Graphics Debugger (MGD)
integration in Unity
©ARM201721
Mali Graphics Debugger (MGD)
 Draw-call by Draw-call stepping
To identify draw call related issues, redundant draw calls and other opportunities to optimize
 TextureView
Visualize an application’s texture usage, to identify opportunities to compress textures or
change formats
 Shader Statistics
Understand which vertex and fragment shaders are the most expensive with cycle
count reporting
 Vertex Attribute / UniformView
See vertex data and index buffers
 StateView
Full visibility of graphics state and tracking of state changes
 Dynamic Optimization Advice
Highlighting of common API misusage and dynamic performance improvement advice
Download MGD for free at developer.arm.com
©ARM201722
Mali Graphics Debugger
Vulkan
adb install -r MGD.apk
adb install -r MGD.apk
OpenGL ES
Assets/Plugins/Android/libs/armeabi-v7a/
libVkLayerMGD32.so
©ARM 201723
Live demo: debugging Unity
application with MGD
©ARM201724
Wrap Up
APPLICATION
Single threaded/context
ARM Mali GPU
DRIVER
Context management
Memory management
Error management
GLSL compiler
CPU overhead
APPLICATION
Memory management
Thread management
Multi-threaded command
buffers
SPIR-V shader pre-
compilation
ARM Mali GPU
DRIVER
Very Light Driver
Lower overall power
consumption
VULKAN BENEFITS
• Portability across multiple platforms
• Native thread friendly
• Efficient utilization of multiprocessor
architecture
• Lower CPU load
• Reduced energy consumption
• Extra benefits for mobile platform and tiling
architectures such as ARM Mali GPUs
• Pixel access to result of previous sub-pass
• Data contained on fast on-chip memory
• Memory bandwidth saving
• Loadable validation and debug layers
Mali Graphics Debugger
©ARM201725
 AddVulkan to the list of Graphics API – save performance, battery last longer
 Upgrade to Unity 5.6 – very easy to use MGD as it is integrated into Unity
Takeaways
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 © 2017 ARM Limited
Thank you
Questions
©ARM201727
 Find out more info about the topics of this talk at:
• https://www.youtube.com/watch?v=VCSkp-QZ37M
• https://www.youtube.com/watch?v=WI7nXq8oozw
• https://community.arm.com/graphics/b/blog/posts/mgd-integration-in-unity
• https://developer.arm.com/products/software-development-tools/graphics-development-tools/mali-graphics-debugger
• https://developer.arm.com/products/software-development-tools/ds-5-development-studio/resources/ds-5-media-
articles/2017/04/mali-graphics-debugger-introduction-part-1
• https://developer.arm.com/products/software-development-tools/ds-5-development-studio/resources/ds-5-media-
articles/2017/04/mali-graphics-debugger-introduction-part-2
• http://malideveloper.arm.com/armunityguide
• https://developer.arm.com/graphics/unity/unity-engine-tutorials
• https://developer.arm.com/graphics/vulkan/vulkan-tutorials
To find out more….

More Related Content

PDF
CE-4117, HSA Optimizations and Impact on end User Experiences for AfterShot P...
PPTX
PDF
Keynote (Tony King-Smith) - Silicon? Check. HSA? Check. All done? Wrong! - by...
PDF
PipelineAI Real-Time Machine Learning - Global Artificial Intelligence Confer...
PDF
Serverless Apps on Google Cloud: more dev, less ops
PDF
Embracing Serverless with Google
PDF
Performance Tales of Serverless - CloudNative London 2018
PPTX
Bikal Eyesphere Video Management Software presentation_en edit
CE-4117, HSA Optimizations and Impact on end User Experiences for AfterShot P...
Keynote (Tony King-Smith) - Silicon? Check. HSA? Check. All done? Wrong! - by...
PipelineAI Real-Time Machine Learning - Global Artificial Intelligence Confer...
Serverless Apps on Google Cloud: more dev, less ops
Embracing Serverless with Google
Performance Tales of Serverless - CloudNative London 2018
Bikal Eyesphere Video Management Software presentation_en edit

Similar to Get the most out of mobile with Vulkan in Unity (20)

PDF
VMworld 2013: A Technical Deep Dive on VMware Horizon View 5.2 Performance an...
PDF
VMworld 2013: On the Way to GPU Virtualization – 3D Acceleration in Virtual M...
PDF
"Dynamically Reconfigurable Processor Technology for Vision Processing," a Pr...
PDF
“Open Standards: Powering the Future of Embedded Vision,” a Presentation from...
PPTX
Graphics processing unit ppt
PDF
SimScale: Unparalleled CFD Speeds with Parallel Computing
PDF
Power-Efficient Programming Using Qualcomm Multicore Asynchronous Runtime Env...
PDF
Impact2014 session # 1523 performance optimization using ibm java on z and w...
PDF
Droidcon2013 triangles gangolells_imagination
PPTX
All about Azure workshop deck
PPTX
Drive Data Center Efficiency with SuperBlade, Powered by AMD EPYC™ and Instinct™
PDF
Accelerating Spark MLlib and DataFrame with Vector Processor “SX-Aurora TSUBASA”
PDF
Cloud Graphical Rendering: A New Paradigm
PDF
E3MV - Embedded Vision - Sundance
PDF
GPU power consumption and performance trends
PDF
Embedded Recipes 2019 - Making embedded graphics less special
PDF
Where should I run my code? Serverless, Containers, Virtual Machines and more
PPT
AMD Virtualization -- Take Charge
PDF
2.01_Nvidia_NVswitch_HotChips2018_DGX2NVS_Final.pdf
PDF
Keynote (Johan Andersson) - Mantle for Developers - by Johan Andersson, Techn...
VMworld 2013: A Technical Deep Dive on VMware Horizon View 5.2 Performance an...
VMworld 2013: On the Way to GPU Virtualization – 3D Acceleration in Virtual M...
"Dynamically Reconfigurable Processor Technology for Vision Processing," a Pr...
“Open Standards: Powering the Future of Embedded Vision,” a Presentation from...
Graphics processing unit ppt
SimScale: Unparalleled CFD Speeds with Parallel Computing
Power-Efficient Programming Using Qualcomm Multicore Asynchronous Runtime Env...
Impact2014 session # 1523 performance optimization using ibm java on z and w...
Droidcon2013 triangles gangolells_imagination
All about Azure workshop deck
Drive Data Center Efficiency with SuperBlade, Powered by AMD EPYC™ and Instinct™
Accelerating Spark MLlib and DataFrame with Vector Processor “SX-Aurora TSUBASA”
Cloud Graphical Rendering: A New Paradigm
E3MV - Embedded Vision - Sundance
GPU power consumption and performance trends
Embedded Recipes 2019 - Making embedded graphics less special
Where should I run my code? Serverless, Containers, Virtual Machines and more
AMD Virtualization -- Take Charge
2.01_Nvidia_NVswitch_HotChips2018_DGX2NVS_Final.pdf
Keynote (Johan Andersson) - Mantle for Developers - by Johan Andersson, Techn...
Ad

More from DevGAMM Conference (20)

PPTX
The art of small steps, or how to make sound for games in conditions of war /...
PPTX
Breaking up with FMOD - Why we ended things and embraced Metasounds / Daniel ...
PPTX
How Audio Objects Improve Spatial Accuracy / Mads Maretty Sønderup (Audiokine...
PPTX
Why indie developers should consider hyper-casual right now / Igor Gurenyov (...
PPTX
AI / ML for Indies / Tyler Coleman (Retora Games)
PDF
Agility is the Key: Power Up Your GameDev Project Management with Agile Pract...
PPTX
New PR Tech and AI Tools for 2023: A Game Changer for Outreach / Kirill Perev...
PDF
Playable Ads - Revolutionizing mobile games advertising / Jakub Kukuryk (Popc...
PDF
Creative Collaboration: Managing an Art Team / Nastassia Radzivonava (Glera G...
PDF
From Local to Global: Unleashing the Power of Payments / Jan Kuhlmannn (Xsolla)
PDF
Strategies and case studies to grow LTV in 2023 / Julia Iljuk (Balancy)
PDF
Why is ASO not working in 2023 and how to change it? / Olena Vedmedenko (Keya...
PDF
How to increase wishlists & game sales from China? Growth marketing tactics &...
PDF
Turkish Gaming Industry and HR Insights / Mustafa Mert EFE (Zindhu)
PDF
Building an Awesome Creative Team from Scratch, Capable of Scaling Up / Sasha...
PPTX
Seven Reasons Why Your LiveOps Is Not Performing / Alexander Devyaterikov (Be...
PDF
The Power of Game and Music Collaborations: Reaching and Engaging the Masses ...
PPTX
Branded Content: How to overcome players' immunity to advertising / Alex Brod...
PPTX
Resurrecting Chasm: The Rift - A Source-less Remastering Journey / Gennadii P...
PPTX
How NOT to do showcase events: Behind the scenes of Midnight Show / Andrew Ko...
The art of small steps, or how to make sound for games in conditions of war /...
Breaking up with FMOD - Why we ended things and embraced Metasounds / Daniel ...
How Audio Objects Improve Spatial Accuracy / Mads Maretty Sønderup (Audiokine...
Why indie developers should consider hyper-casual right now / Igor Gurenyov (...
AI / ML for Indies / Tyler Coleman (Retora Games)
Agility is the Key: Power Up Your GameDev Project Management with Agile Pract...
New PR Tech and AI Tools for 2023: A Game Changer for Outreach / Kirill Perev...
Playable Ads - Revolutionizing mobile games advertising / Jakub Kukuryk (Popc...
Creative Collaboration: Managing an Art Team / Nastassia Radzivonava (Glera G...
From Local to Global: Unleashing the Power of Payments / Jan Kuhlmannn (Xsolla)
Strategies and case studies to grow LTV in 2023 / Julia Iljuk (Balancy)
Why is ASO not working in 2023 and how to change it? / Olena Vedmedenko (Keya...
How to increase wishlists & game sales from China? Growth marketing tactics &...
Turkish Gaming Industry and HR Insights / Mustafa Mert EFE (Zindhu)
Building an Awesome Creative Team from Scratch, Capable of Scaling Up / Sasha...
Seven Reasons Why Your LiveOps Is Not Performing / Alexander Devyaterikov (Be...
The Power of Game and Music Collaborations: Reaching and Engaging the Masses ...
Branded Content: How to overcome players' immunity to advertising / Alex Brod...
Resurrecting Chasm: The Rift - A Source-less Remastering Journey / Gennadii P...
How NOT to do showcase events: Behind the scenes of Midnight Show / Andrew Ko...
Ad

Recently uploaded (20)

PPTX
VVF-Customer-Presentation2025-Ver1.9.pptx
PDF
medical staffing services at VALiNTRY
PDF
Wondershare Filmora 15 Crack With Activation Key [2025
PDF
Digital Strategies for Manufacturing Companies
PDF
Adobe Illustrator 28.6 Crack My Vision of Vector Design
PPTX
CHAPTER 12 - CYBER SECURITY AND FUTURE SKILLS (1) (1).pptx
PPTX
Agentic AI Use Case- Contract Lifecycle Management (CLM).pptx
PPTX
history of c programming in notes for students .pptx
PDF
top salesforce developer skills in 2025.pdf
PDF
Audit Checklist Design Aligning with ISO, IATF, and Industry Standards — Omne...
PDF
Understanding Forklifts - TECH EHS Solution
PDF
Internet Downloader Manager (IDM) Crack 6.42 Build 41
PPTX
Introduction to Artificial Intelligence
PPTX
Online Work Permit System for Fast Permit Processing
PDF
Navsoft: AI-Powered Business Solutions & Custom Software Development
PPTX
ManageIQ - Sprint 268 Review - Slide Deck
PDF
Upgrade and Innovation Strategies for SAP ERP Customers
PDF
Design an Analysis of Algorithms II-SECS-1021-03
PPTX
Odoo POS Development Services by CandidRoot Solutions
PDF
System and Network Administration Chapter 2
VVF-Customer-Presentation2025-Ver1.9.pptx
medical staffing services at VALiNTRY
Wondershare Filmora 15 Crack With Activation Key [2025
Digital Strategies for Manufacturing Companies
Adobe Illustrator 28.6 Crack My Vision of Vector Design
CHAPTER 12 - CYBER SECURITY AND FUTURE SKILLS (1) (1).pptx
Agentic AI Use Case- Contract Lifecycle Management (CLM).pptx
history of c programming in notes for students .pptx
top salesforce developer skills in 2025.pdf
Audit Checklist Design Aligning with ISO, IATF, and Industry Standards — Omne...
Understanding Forklifts - TECH EHS Solution
Internet Downloader Manager (IDM) Crack 6.42 Build 41
Introduction to Artificial Intelligence
Online Work Permit System for Fast Permit Processing
Navsoft: AI-Powered Business Solutions & Custom Software Development
ManageIQ - Sprint 268 Review - Slide Deck
Upgrade and Innovation Strategies for SAP ERP Customers
Design an Analysis of Algorithms II-SECS-1021-03
Odoo POS Development Services by CandidRoot Solutions
System and Network Administration Chapter 2

Get the most out of mobile with Vulkan in Unity

  • 1. Get the Most Out of Mobile withVulkan in Unity Roberto Lopez Mendez DevGAMM Moscow 2017 Senior Engineer 18/05/2017
  • 2. ©ARM20172 Agenda  The benefits of theVulkan graphics API  Multi-threading  Multipass  Vulkan vs OpenGL ES with Sky Force Reloaded  Mali Graphics Debugger (MGD)  Integration in Unity  Live demo  Wrap up
  • 3. ©ARM 20173 The benefits of theVulkan graphics API
  • 4. ©ARM20174 Multi-threading / multicore efficiency  Created from the ground to be thread-friendly  Multi-threading widely considered in the specs  Multi-threading responsibility moved to application level  The application has better visibility  Efficient utilization of multiprocessor architecture  Lower CPU load and energy consumption  Spread work out faster to multiple cores  Able to schedule and migrate tasks between ARM ® big.LITTLETM cores according to the load
  • 5. ©ARM20175 Multi-pass rendering  Everything is declared ahead of time in the render pass  Each sub pass can specify different outputs and they can be chained together  Very performant in tiled GPUs such as ARM Mali GPUs  Each pixel in a sub-pass can access the result of the previous sub-pass  All data can be contained on the fast on-chip memory, saving bandwidth  Example of use-cases:  Deferred rendering  Soft-particles  Tone-mapping
  • 6. ©ARM20176 Vulkan benefits in Lofoten demo SCENE INFO • ~ 100 lights with shadow maps • 3M primitives (reduced to 500K with very efficient occlusion culling) • 500 draw calls • Sun light with cascade shadow map • ~ 10 reflection probes • FFT compute in ocean rendering • Deferred shading using multi-pass • 10x less load on CPU with multithreading
  • 7. ©ARM 20177 Sky Force Reloaded with Vulkan and Unity
  • 8. ©ARM20178 What is Sky Force Reloaded?   Modern shoot‘em experience  Intense action, very rich graphics  Pushing CPU and GPU to the limits
  • 10. ©ARM201710 Performance issues in Sky Force Reloaded  Performance issues on OpenGL ES  Even on high-end devices it was not possible to maintain 60 FPS all of the time  Fill rate was not the bottleneck  Up to 1000 draw calls per frame  CPU was spending a lot of time preparing data for GPU
  • 11. ©ARM201711 Performance benchmark  Draw calls are expensive  OpenGL ES driver is not optimal  PerhapsVulkan can help?  Vulkan is supported by Unity!
  • 12. ©ARM201712 Sky Force Reloaded:Vulkan vs OpenGL ES Best case 21% faster using Vulkan. On average 15% faster using Vulkan.
  • 13. ©ARM201713 Sky Force Reloaded: Increased workload Best case 82% faster using Vulkan. On average 32% faster using Vulkan.
  • 14. ©ARM201714 Extra power enabled byVulkan  More content  Add more particle, objects or animations  Keep the same FPS with richer graphics
  • 16. ©ARM201716 Power consumption test  Power consumption is a problem  Players were not happy  Console-like quality games consume a lot of power  Can Vulkan help?
  • 18. ©ARM201718 Power consumption test  Vulkan consumed 10 to 12% less power in the game  Majority of savings come from the CPU  Extra minutes of playtime with Vulkan!
  • 19. ©ARM201719 Summary  Great to use “out of the box”  Improves your FPS  Adds some extra minutes of playtime  You can add some more graphics and make your game look better
  • 20. ©ARM 201720 Mali Graphics Debugger (MGD) integration in Unity
  • 21. ©ARM201721 Mali Graphics Debugger (MGD)  Draw-call by Draw-call stepping To identify draw call related issues, redundant draw calls and other opportunities to optimize  TextureView Visualize an application’s texture usage, to identify opportunities to compress textures or change formats  Shader Statistics Understand which vertex and fragment shaders are the most expensive with cycle count reporting  Vertex Attribute / UniformView See vertex data and index buffers  StateView Full visibility of graphics state and tracking of state changes  Dynamic Optimization Advice Highlighting of common API misusage and dynamic performance improvement advice Download MGD for free at developer.arm.com
  • 22. ©ARM201722 Mali Graphics Debugger Vulkan adb install -r MGD.apk adb install -r MGD.apk OpenGL ES Assets/Plugins/Android/libs/armeabi-v7a/ libVkLayerMGD32.so
  • 23. ©ARM 201723 Live demo: debugging Unity application with MGD
  • 24. ©ARM201724 Wrap Up APPLICATION Single threaded/context ARM Mali GPU DRIVER Context management Memory management Error management GLSL compiler CPU overhead APPLICATION Memory management Thread management Multi-threaded command buffers SPIR-V shader pre- compilation ARM Mali GPU DRIVER Very Light Driver Lower overall power consumption VULKAN BENEFITS • Portability across multiple platforms • Native thread friendly • Efficient utilization of multiprocessor architecture • Lower CPU load • Reduced energy consumption • Extra benefits for mobile platform and tiling architectures such as ARM Mali GPUs • Pixel access to result of previous sub-pass • Data contained on fast on-chip memory • Memory bandwidth saving • Loadable validation and debug layers Mali Graphics Debugger
  • 25. ©ARM201725  AddVulkan to the list of Graphics API – save performance, battery last longer  Upgrade to Unity 5.6 – very easy to use MGD as it is integrated into Unity Takeaways
  • 26. 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 © 2017 ARM Limited Thank you Questions
  • 27. ©ARM201727  Find out more info about the topics of this talk at: • https://www.youtube.com/watch?v=VCSkp-QZ37M • https://www.youtube.com/watch?v=WI7nXq8oozw • https://community.arm.com/graphics/b/blog/posts/mgd-integration-in-unity • https://developer.arm.com/products/software-development-tools/graphics-development-tools/mali-graphics-debugger • https://developer.arm.com/products/software-development-tools/ds-5-development-studio/resources/ds-5-media- articles/2017/04/mali-graphics-debugger-introduction-part-1 • https://developer.arm.com/products/software-development-tools/ds-5-development-studio/resources/ds-5-media- articles/2017/04/mali-graphics-debugger-introduction-part-2 • http://malideveloper.arm.com/armunityguide • https://developer.arm.com/graphics/unity/unity-engine-tutorials • https://developer.arm.com/graphics/vulkan/vulkan-tutorials To find out more….