Skip to content

Vulkan #102

@IntegratedQuantum

Description

@IntegratedQuantum

While it probably won't make the game any faster since it's not API bound, I think Vulkan does offer some advantages:

  • better tooling (there is a GPU profiler from AMD that only works with Vulkan)
  • better platform support: with MoltenVK there is apple support. And Vulkan also supports mobile GPUs, which at the moment would require OpenGL ES
  • better error detection with validation layers. OpenGL is really inconsistent with errors and warnings, which appear to be driver dependant.
  • Vulkan does provide more consistent performance. For example on my intel laptop the OpenGL driver creates a copy of a given buffer when doing glBufferSubData.
  • Vulkan is probably more future-proof at this point.
  • Vulkan allows for larger buffers (SSBOs can be up to 4GB instead of 2 GB like in OpenGL)

But all that comes at a heavy development cost.

I heard that this guide should be useful: https://vkguide.dev
There is an official documentation now: https://docs.vulkan.org/spec/latest/index.html
Here are some examples, which might be helpful to look at: https://github.com/SaschaWillems/Vulkan/tree/master
Here is a Zig project that I'd like to reference for all the Vulkan infrastructure, since it doesn't use the SDK: https://codeberg.org/ssmid/zeppelin

Prerequisites:

Metadata

Metadata

Assignees

No one assigned

    Labels

    engineenhancementa new feature or improvementexperimentala feature or idea that will require lots of experimentationundecideda final decision has not been made whether or how this enhancement should be implemented

    Type

    No type

    Projects

    No projects

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions