"webp" sounds like it's specifically targeted to the web. If I want to save an image in a certain file format, I am not going to chose the one that sounds like it's meant for deployment in web browsers, with potentially low quality for faster transfer.
While that might not be what WebP does, it is what it implies to regular users.
Ironically when we did compression quality evaluations, me and my colleague found that PSNR way better matches our perception of quality, than LPIPS or FLIP. Our assumption is that LPIPS is biased towards quality artifacts that is not representative of compression quality artifacts.
WebGPU is newer, but lacks modern functionality because it was made to support ancient smartphones. That's great if you want to support ancient smartphones, but not if you want to utilize modern desktop GPUs.
Vulkan is garbage. It's completely needlessly overengineered. Like, you literally have to write 50 lines of code just to allocate GPU memory, which is a one-liner in other APIs like CUDA. These 50 lines include things like heap type shopping and usage flags, that are entirely pointless for modern desktop GPUs. I know there is VMA, but that is a poorly made bandaid over a badly designed API, and barely addresses one out of 100 UX issues with Vulkan. There is a reason so many are sticking with OpenGL. OpenGL is fairly bad, but at least it isn't Vulkan.
But I can agree with CUDA. CUDA is great, in a large part because it actually offers an easy to use API.
WebGPU has the issue that feature/capability-wise it is essentially 5 years behind OpenGL 4.6, which came out 8 years ago. And the other downside being that it adopted old Vulkan concepts that even Vulkan started to ditch, like render passes and static pipelines.
For beginners that's irrelevant. WebGPU has more than enough features for beginners to learn about graphics programming. Not just that, once you're used to WebGPU, going to Vulkan will be much easier than the transition from OpenGL.
I wouldnt recommend anyone going to Vulkan, though. It's pretty much the worst graphics API out there, and WebGPU is mimicking outdated Vulkan design decisions that even Vulkan is currently outphasing, like render passes and static pipelines.
While that might not be what WebP does, it is what it implies to regular users.
reply