Cubyz
Cubyz copied to clipboard
Vulkan
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
Prerequisites:
- #101 would make porting easier
https://github.com/ashpil/moonshine A general purpose ray traced renderer built with Zig + Vulkan
There is also https://vulkan.gpuinfo.org/ page which is very handy for querying for how widely are different Vulkan features available.