9 ms·
Zink (OpenGL over Vulkan) allocator improves performance in 1000% in some games
- initplus 5y agoSo does this make the case that common opengl implementations are just not very good? If this works so well as a technique why isn't it already in use by vendors?
- shmerl 5y agoIt means it improves it for itself, bringing it closer to native OpenGL implementations since in that case it was pretty bad, not that it's 10 times better than native OpenGL. The description actually says that it borrows heavily from radeonsi (AMD's OpenGL implementation), so it means the technique is already used.
- boyadjian 5y agoOpenGL will never die, it will be virtualized with Zink
- wlesieutre 5y agoSome places are already using ANGLE for this, which takes WebGL / OpenGL ES and translates it to D3D9, D3D11, Vulkan, desktop OpenGL, or Metal (in progress) depending on platform. From my understanding, the main goal here was for Chrome to handle WebGL on Windows using Direct3D because OpenGL driver support on Windows is not good. But it's aiming to be a universal graphics shim for many platforms. Chrome, Firefox, Qt, and Krita all use it. https://en.wikipedia.org/wiki/ANGLE_(software) https://en.wikipedia.org/wiki/ANGLE_(software)
- TazeTSchnitzel 5y agoSafari will be using ANGLE soon too (and thus support WebGL 2 finally).
- jokoon 5y agothat's pretty hopeful to hear...
- monocasa 5y agoIt was never going to die. There's still Glide wrappers out there, and OpenGL did way better than Glide in the market. Virtualized was always it's end game and where well used APIs go to die.
- bsder 5y agoThat would actually be fine because it would take the problem of OpenGL drivers away from the manufacturers who don't give two shits of damn about it. At this point, OpenGL is more important in being fully compatible than in being fully performant. And none of the graphics card guys care about that.
- cogman10 5y agoThis is what I hoped would happen with DirectX as well. Vulkan is a much easier standard for GPU manufactures to get right. If we could convert all the higher level APIs (such as DirectX and OpenGL) to it, then we could get consistent behavior across a wide range of vendors.
- shmerl 5y agoIt's a political, not a technical issue. MS and Apple are stuck with their lock-in mentality and until they'll change, this fragmented mess will remain in place. At least MS joined OpenXR effort in contrast instead of pushing their own NIH. However this did happen for DirectX as an option. There are dxvk (dx9-11) and vkd3d (dx12) which translate DirectX to Vulkan.
- klodolph 5y agoAt least DX12 and Metal have similar semantics to Vulkan. It may be a mess to support multiple platforms without using some kind of translation library, abstraction layer, or off-the-shelf rendering engine, but at least you can work with similar semantics on different platforms.
- shmerl 5y agoIt's still an unnecessary mess driven by lock-in interests. MS and Apple should have collaborated on supporting Vulkan instead and made whatever higher level stuff on top of it already. But you are right, translating DX12 to Vulkan is easier than translating DX9 or DX11 to it.
- klodolph 5y agoLock-in was the end result, but the project that eventually resulted in Vulkan hadn't even begun by the time Metal was shipping to developers. Metal was released June 2014, and a project called "OpenGL Next" was started the next month, in July 2014. This project was eventually renamed Vulkan, and wasn't available until February 2016. You can say that the lock-in is "unnecessary", but these things happen for complicated reasons. Fixing the lock-in isn't just a switch you can flip. We can dream about a world in which Vulkan came out two years earlier than it did. In the world we live in, Microsoft wanted migration paths for existing DirectX users, and Apple wanted people to take iOS seriously as a platform for developing games. Waiting for OpenGL Next to materialize seemed like a losing game at the time. When Metal and DirectX 12 were under developement, they weren't competing with Vulkan... they were competing with a set of techniques for OpenGL called AZDO, and it seemed that OpenGL was lagging further and further behind its alternatives with every passing year.
- smallstepforman 5y agoSo it's a slab allocator to reuse recently destroyed buffers. I've got something similar on my Vulkan engine, but much less lines of code. I would have thought by now that most libraries/engines would be reusing allocated buffers using a slab allocator based design, so it doesn't suprise me to see that Zink got it as well. I would have been suprised if it never had it.
- georgeecollins 5y agoRight, but you have a Vulcan engine. It's nice to get the performance improvement on something written in Open GL. I think that is the benefit they are touting.
- KingMachiavelli 5y agoI'm pretty confident that the original commit meant 1000% compared to the previous Zink performance - not that it's 1000% better than current OpenGL implementations. That said I certainly hope Zink becomes a suitable OpenGL implementation since it would simplify development of open source video drivers. i.e. just implement vulkan and you get OpenGL for free.
- cannyfox91 5y agoYeah, I doubt this meant in comparison with native implementations of OpenGL from AMD/Nvidia.
- bibaheu 5y agoAnd with DXVK you also get Direct3D for free too.
- greggman3 5y agoyou can already get OpenGL ES 3.1 in vulkan for free via the ANGLE project
- account42 5y agoOpenGL ES won't help you with most desktop applications.
- rjvs 5y agoApparently [1] the game that got 1000% improvement was previously unplayable at ~9fps. 1. https://www.phoronix.com/scan.php?page=news_item&px=Zink-Suballocator-Merged https://www.phoronix.com/scan.php?page=news_item&px=Zink-Sub...
- codetrotter 5y agoOk, that’s super weird for sure. I think 1000% improvement is not the appropriate description in that case. A more suitable headline would be like, “Zink (OpenGL over Vulkan) allocator now able to play more games at high frame rates”. 9 fps is not a video game, that’s a slide show. And indeed, playing tomb raider where you want to make jumps and stuff, I would not play that on 9 fps ever.
- cannyfox91 5y agoDo we know how this compares to native OpenGL implementations form AMD/Nvidia ? It would seem like these optimizations are already implemented on their native drivers.
- jpetso 5y agoPhoronix is running some benchmarks again which should be coming out in the next days.