Arm Community
Arm Community
  • Site
  • User
  • Site
  • Search
  • User
  • Groups
    • Arm Research
    • DesignStart
    • Education Hub
    • Graphics and Gaming
    • High Performance Computing
    • Innovation
    • Multimedia
    • Open Source Software and Platforms
    • Physical
    • Processors
    • Security
    • System
    • Software Tools
    • TrustZone for Armv8-M
    • 中文社区
  • Blog
    • Announcements
    • Artificial Intelligence
    • Automotive
    • Healthcare
    • HPC
    • Infrastructure
    • Innovation
    • Internet of Things
    • Machine Learning
    • Mobile
    • Smart Homes
    • Wearables
  • Forums
    • All developer forums
    • IP Product forums
    • Tool & Software forums
  • Support
    • Open a support case
    • Documentation
    • Downloads
    • Training
    • Arm Approved program
    • Arm Design Reviews
  • Community Help
  • More
  • Cancel
Graphics and Gaming
  • Developer Community
  • Tools and Software
  • Graphics and Gaming
  • Jump...
  • Cancel
Graphics and Gaming
Graphics and Gaming blog Arm donates Vulkan Best Practice for Mobile Developers to The Khronos Group
  • Blog
  • Graphics - Most active members
  • Forum
  • Videos & Files
  • Mentions
  • Sub-Groups
  • Tags
  • Jump...
  • Cancel
  • New
More blogs in Graphics and Gaming
  • Graphics and Gaming blog

Tell us what you think
Tags
  • Open Source Projects
  • vulkan
  • Graphics APIs
  • gpu
Actions
  • RSS
  • More
  • Cancel
Related blog posts
Related forum threads

Arm donates Vulkan Best Practice for Mobile Developers to The Khronos Group

Wasim Abbas
Wasim Abbas
October 31, 2019

One year ago, we set out on a mission to make Vulkan API development more accessible for mobile developers through education, best practices and sample code. At GDC 2019, we unveiled our Vulkan best practices for mobile developers, and today we are announcing that this repository is being donated to Khronos.

Having worked with a number of studios and individual game developers over the past number of years. Our graphics and gaming engineering team learned a lot about Vulkan and how to optimise development of the API for targeting a mobile device. During this learning curve, the team found that there was a distinct lack of content around developing with Vulkan when targeting a mobile device. We decided to turn this learning experience into an open source project that included tutorials with sample code available for download, that developers can set up and get running on their devices. Along with these samples, we also provided easy to consume tutorials explaining the step by step process for each sample. The overall goal is we enable more developers to learn about the Vulkan API, it’s intricacies and how best to optimize for a mobile target. Over the past year we have added to this repository subject by subject, now boasting over 10 samples in both basic and complex use cases.

Why are we donating it to Khronos?

Developing high quality software is a difficult task without any help and developing high quality games is a tough task for any studio or developer. Projects and general development are accelerated through open source, where quality ideas and new ways of innovating happen naturally, through curiosity and the strive for better development. Arm released the project on GitHub with a permissive license We encourage developers and thought leaders in the area of Vulkan development to get involved as it is not vendor specific, and anyone can contribute.

At its core, this project is meant to address the challenge of attaining maximum performance on mobile using Vulkan. This project received great response from developers as well as the Khronos team behind Vulkan. Through Khronos’ large network, the project can grow beyond what it is now and help any Vulkan developer to achieve maximum performance from the Vulkan API.

Tutorials as of November 2019

Each sample tests a specific Vulkan feature and gives the developer on-screen controls of the multiple ways of doing something, showing the real-time performance impact with hardware counters on the display. Each sample is accompanied with an in-depth tutorial explaining in detail what is happening under the hood.

General

  • Controls
  • Create a Sample

Vulkan Essentials

  • How does Vulkan compare to OpenGL ES? What should you expect when targeting Vulkan?

Vulkan Swapchains

  • Appropriate use of N-buffering
  • Appropriate use of surface rotation

Pipelines

  • Use of pipeline caches to avoid startup latency

Render Passes

  • Appropriate use of load/store operations, and use of transient attachments

Render Subpasses

  • Benefits of subpasses over multiple render passes, use of transient attachments, and G-buffer recommended size

Command Buffers

  • Allocation and management of command buffers

AFBC

  • Appropriate use of AFBC

Vulkan Best Practice Blog Series

We’ve been breaking the samples down into blogs which act as step by step tutorials to give a step by step approach to both the advanced and basic samples. So far we have written about:

  • How to Configure Your Vulkan Swapchain
  • Appropriate use of Surface Rotation
  • Picking the Most Efficient Load Store Operations

We will be adding to this over the coming months, so make sure you join the community for updates.

Check out the GitHub repository and get involved

Vulkan Best Practices on GitHub 

Anonymous
Graphics and Gaming blog
  • New game changing Vulkan extensions for mobile: Buffer Device Address

    Hans-Kristian Arntzen
    Hans-Kristian Arntzen
    This blog looks at 'Buffer Device Address', one of the three 'game-changers' offered through new Vulkan extensions on mobile.
    • February 25, 2021
  • New game changing Vulkan extensions for mobile: Descriptor Indexing

    Hans-Kristian Arntzen
    Hans-Kristian Arntzen
    This blog looks at Descriptor Indexing, one of the three game-changers offered through new Vulkan extensions on mobile.
    • February 23, 2021
  • New Vulkan extensions for mobile: Legacy Support Extensions

    Hans-Kristian Arntzen
    Hans-Kristian Arntzen
    This blog looks at 'Legacy Support Extensions', part of the brand new Vulkan extensions on mobile.
    • February 18, 2021