We heard you like performance and it seems the new OpenGL over Vulkan driver Zink is going to bring some FPS friends whenever the next release lands. Developer Mike Blumenkrantz who has been contracted by Valve has continued hacking away at the code, and in a new blog post detailed a massive change to the driver to improve gaming performance.
Don't know what Zink is? It's "an OpenGL implementation on top of Vulkan. Or to be a bit more specific, Zink is a Mesa Gallium driver that leverages the existing OpenGL implementation in Mesa to provide hardware accelerated OpenGL when only a Vulkan driver is available" - Collabora.
One of the improvements Blumenkrantz has mentioned in the past is getting Zink up to scratch for gaming, something that hasn't been the focus of blog posts lately. However, this latest one shows two screenshots and the difference between them with the old slow code left and new fast code right (click to enlarge):
Blumenkrantz is making use of MangoHud too, which recently added support for picking up Zink as the driver.
Going from 9FPS to 91FPS is a massive difference, as is the frametiming too so it's not just higher FPS it looks like it will be smoother overall too. How is it done? With the addition of a suballocator that was created by pinching some ready-made code from other parts of Mesa. The result is about 700 lines of code to create the performance booster. The gist of it is that Zink is now a lot smarter and knows when something is busy or can be used elsewhere so Zink can now really do its thing. The code is live in the "zink-wip" branch on GitLab if anyone wanted to be brave and try it out.
See the blog post for the full details.
Zink is a nice project, but it looks like a proof of concept than anything else.
I mean, OGL is by far the most supported API, looks like nowadays is not that hard to implement it on hardware. It will be used even less in favor of vulkan, so hardly will receive a nice new feature that vendors needs to update drivers.
It's hard to imagine that Zink will do a miracle, it will hit the Ogl limitation sooner or later.
AMD could benefit from this because it had a worse support in the past, but Mesa already improved it.
The only reason is if they want to deprecate drivers, or newer hardware only support Vulkan, which tbh, don't make much sense.
It surely makes sense to use Zink to run OpenGL games(and other software) on hardware that only supports Vulkan and not OpenGL. As I understand it Zink basically is a way to support legacy software in a post-OpenGL world.
Quoting: ajgpQuestion I always assumed that Zink was a similar project to DXVK in that it was simply a translation abstraction between OpenGL and Vulkan. But the wording of the above makes it seem that it is a MESA specific. I.e if Im using Nvidia drivers then I cant use Zink to translate to Vulkan like I would DXVK. Or am I missing something.You can use Zink on Nvidia. But native OpenGL from Nvidia's driver will be faster.
The motivations for Zink were laid out quite well in its initial announcement.
Quoting: fagnerlnZink is a nice project, but it looks like a proof of concept than anything else.
I mean, OGL is by far the most supported API, looks like nowadays is not that hard to implement it on hardware.
From what CatKiller linked (I guessed so, but they do know): "One problem is that OpenGL is a big API with a lot of legacy stuff that has accumulated since its initial release in 1992."
Quoting: Eike"One problem is that OpenGL is a big API with a lot of legacy stuff that has accumulated since its initial release in 1992."Yeah, OpenGL was driven by the needs of CAD software when programs were single-threaded and hardware was a fixed-function rendering pipeline. Modern software and hardware aren't really like that at all.
There's an interesting set of articles from one of the PowerVR people that describes how Vulkan does things differently to OpenGL.
Quoting: CatKillerYeah, OpenGL was driven by the needs of CAD software when programs were single-threaded and hardware was a fixed-function rendering pipeline. Modern software and hardware aren't really like that at all.
There's an interesting set of articles from one of the PowerVR people that describes how Vulkan does things differently to OpenGL.
I don't know if there's something like "historisch gewachsen" in English. "Historically developed" would be the literal translation, used in the meaning of it's old, many people had their hands on it, it served many purposes, maybe there's even people missing that understand it fully due to its complexity, ... Some day, such software has to be (slowly) replaced.
Quoting: EikeQuoting: CatKillerYeah, OpenGL was driven by the needs of CAD software when programs were single-threaded and hardware was a fixed-function rendering pipeline. Modern software and hardware aren't really like that at all.
There's an interesting set of articles from one of the PowerVR people that describes how Vulkan does things differently to OpenGL.
I don't know if there's something like "historisch gewachsen" in English. "Historically developed" would be the literal translation, used in the meaning of it's old, many people had their hands on it, it served many purposes, maybe there's even people missing that understand it fully due to its complexity, ... Some day, such software has to be (slowly) replaced.
Legacy baggage and technical debt are related (and depressing) terms that spring to mind.
Quoting: tuubiLegacy baggage and technical debt are related (and depressing) terms that spring to mind.
I like "Legacy baggage"!
(I always take this with a bit of understanding/sympathy - it's not like I haven't produced similar baggages... ;) )
See more from me