Why does vulkano use Arcs everywhere and does it affect it's performance compared to other vulkan wrappers

56 points CodeToGargantua 36 comments

I am trying to use vulkan with rust and have been using the vulkanalia crate. Recently while starting a new project I came across the vulkano crate and it seems much simpler to use, and comes with their own allocators. But to keep their references alive, they use Arcs everywhere, (for instance, surface, device etc.).

My question is, won't it affect it's performance to clone an arc many times during each render loop? Also, my renderer is not multi threaded, an arc therefore seems wasteful.

There seems to be no benchmarks on the performance of vulkano compared to other solutions. I suspect the performance is going to be similar to blade and wgpu, but I'm not sure.

PS: vulkanalia is a really nice crate, but if vulkano has similar performance to it or other unsafe wrappers, then I would like to use that.