Join GamesBeat Summit 2021 this April 28-29. Register for a free or VIP pass today.
Vulkan is the successor to OpenGL, the industry standard graphics API that has been in widespread use for over two decades. OpenGL is similar to DirectX up to version 11, but controlled by an open industry consortium and is cross platform.
Like DX12 for Windows and Metal for Apple hardware, Vulkan is a “low level” graphics API (LLAPI). These APIs give developers more direct access to the hardware than previous graphics APIs, moving many tasks from the GPU driver to the game engine.
Vulkan is designed to properly take advantage of multi-core CPUs, which were not a relevant factor when OpenGL was created. The Oculus Quest has four main CPU cores, three of which are available to games.
While Unity 2019.3 supports Vulkan on Quest, the current Oculus Integration for Unity does not. This is, however, simply due to a check it performs to see if Vulkan is enabled, which can be bypassed by commenting it out.
Vulkan’s lower level access to the hardware means there is less driver overhead for draw calls (instructions from the CPU to the GPU of what objects to draw). This means that more draw calls can be used each frame — or the same number of draw calls per frame will use less CPU power and energy.
This means that Vulkan could enable Quest developers using Unity to ship more detailed scenes, use larger draw distances, use leftover CPU power for physics, or just increase battery life of existing fidelity content.
Vulkan should also provide for significantly faster initial loading times. Do you notice that some Quest games take a very long time to load the first time you launch them? That’s because OpenGL shaders are compiled on first load, whereas with Vulkan shaders can easily be precompiled.
Facebook claims that Vulkan also provides for HDR rendering on mobile, which could be useful for future headsets.
There are no specific benchmarks for a production Oculus Quest Unity app of OpenGL vs Vulkan performance yet. When Unity first added Vulkan support for regular Android games, the company claimed “up to 35% improvement” in performance.
Unity’s competitor, Unreal Engine, already added support for Vulkan on Quest back in August. While there are no public benchmark stats for Unity’s Quest Vulkan support yet either, Facebook claimed that on Epic’s Sun Temple engine sample Vulkan reduces frame times from 16ms to 13ms, a roughly 20% improvement.
To be clear, Vulkan is not a silver bullet. Optimizing a VR game to run on a smartphone processor is incredibly difficult, and most of the work still falls to each developer. But Vulkan support in Unity promises to make the rules slightly less extreme, so we’ll be keeping a close watch on the Quest content ecosystem this year to see what it enables.
This story originally appeared on Uploadvr.com. Copyright 2020
GamesBeatGamesBeat's creed when covering the game industry is "where passion meets business." What does this mean? We want to tell you how the news matters to you -- not just as a decision-maker at a game studio, but also as a fan of games. Whether you read our articles, listen to our podcasts, or watch our videos, GamesBeat will help you learn about the industry and enjoy engaging with it. How will you do that? Membership includes access to:
- Newsletters, such as DeanBeat
- The wonderful, educational, and fun speakers at our events
- Networking opportunities
- Special members-only interviews, chats, and "open office" events with GamesBeat staff
- Chatting with community members, GamesBeat staff, and other guests in our Discord
- And maybe even a fun prize or two
- Introductions to like-minded parties