Godot's Vulkan Backend Seeing Better Performance, 10~20% Reduction In Frame Times
The Godot game engine has spent the past number of months collaborating with Google and The Forge to bring performance optimizations to their Vulkan back-end. While the immediate focus was on bettering Godot's Vulkan performance for Android mobile devices, this work will ultimately benefit all Vulkan platforms/users.
Since November Godot has been working with Google and The Forge to enhance their Vulkan support. Some of the accomplished work includes utilizing unified memory architecture (UMA) buffers where possible, replacing large push constants with dynamic uniform buffers, optimizing descriptor sets and descriptor set batching, and optimizing swapchain operations. There's also been some Android-specific work such as supporting the Android Thermal API and Swappy frame-pacing with the Google AGDK.
In testing on mobile devices, the improved code is showing a consistent 10~20% lower GPU frame-time.
The work is currently maintained in a separate code branch and there is this big pull request with the optimizations made over the past several months. Cleaning up the code for mainlining and verifying no regressions may end up taking some months so this work will likely land across the Godot 4.3 and Godot 4.4 releases.
More details on the work of this Vulkan collaboration with Google and The Forge can be found via the Godot Engine blog.
Since November Godot has been working with Google and The Forge to enhance their Vulkan support. Some of the accomplished work includes utilizing unified memory architecture (UMA) buffers where possible, replacing large push constants with dynamic uniform buffers, optimizing descriptor sets and descriptor set batching, and optimizing swapchain operations. There's also been some Android-specific work such as supporting the Android Thermal API and Swappy frame-pacing with the Google AGDK.
In testing on mobile devices, the improved code is showing a consistent 10~20% lower GPU frame-time.
The work is currently maintained in a separate code branch and there is this big pull request with the optimizations made over the past several months. Cleaning up the code for mainlining and verifying no regressions may end up taking some months so this work will likely land across the Godot 4.3 and Godot 4.4 releases.
More details on the work of this Vulkan collaboration with Google and The Forge can be found via the Godot Engine blog.
6 Comments