Sodium

Sodium

35M Downloads

Sodium Support for VulkanAPI (massive performance boost)

LiberteIV opened this issue ยท 8 comments

commented

Hello,

I'm here to mention this mod https://github.com/xCollateral/VulkanMod which allows to start minecraft with the Vulkan API instead of OpenGL, chances are if the mod get's enough attention.. it might support FidelityFX Super Resolution which will drastically improve performance.
As an example this mod https://www.nexusmods.com/aplaguetalerequiem/mods/9 replaces DLSS with FSR in A Plague Tale Requiem, without the mod i had an average of 40 FPS on a GTX 1080 Ti 1440p ultra settings. With the FSR mod on Quality mode i had an average 80 FPS with the same settings while the image still looked even better then native.
Those results are crazy.
I beleve this (DLSS and FSR) are the future and will be supported by all major upcomming games.
The potential is to much to be ignored, my opinion.

Taking a look at VulkanMod's github page it clearly says this: "This is a fabric mod that rewrites Minecraft OpenGL renderer to use Vulkan API."
With 12,163 downloads the mod is still pretty smal compared to fabric / optifine / sodium, then again imagine what Fabric, VulkanAPI, Optifine, and FidelityFX Super Resolution could do together, i have no doubt minecraft's performance would skyrocket.

Seus Shader and Patrix Resourcepack are very performance hungry, getting an average 60 FPS with both enabled, i consider them both mandatory for playing minecraft as they look really good.
With Vulkan and FSR those 60 FPS could easily turn into 120.
At this moment using optifine with fabric requires optifabric, combining those mods with vulkanmod results in a game-crash.
By creating this "issue" i hope to bring more attention to the vulkanmod and it's potential for FSR.
If fabric, optifine, and optifabric would officialy support vulkanmod

Just like Optifine, Sodium and Iris also crash combined with Vulkanmod.
With fabric loader OpenGL and sodium i get 1300 FPS max when looking at the sky.
With fabric loader and vulkanmod i get 1150 FPS max when looking at the sky.
Combine those and...

Seus PTGI + Patrix

commented

"Looking at the sky" is not a benchmark and does not represent any actual workload.

We are not going to use the Vulkan API. Simply porting the game to use another graphics API doesn't solve the deep architectural problems that actually cause the poor performance. And implementing features like FSR does not require Vulkan.

commented

I know for a fact that VulkanAPI has way better performance then OpenGL because i have now seen it with my own eyes.

Yes, of course, Vulkan is going to have less overhead than OpenGL, but the slowness in Minecraft is due to a poor use of OpenGL. Sodium is proof of the fact that a decent OpenGL implementation can be significantly faster to a barebones Vulkan port, without needing to rewrite every line of rendering code in the game.

Sodium 0.5 already provides a GFX abstraction which it uses instead of OpenGL directly, so that if someone else wants to write a "Vulkan Minecraft" mod they can do it themselves, and implement the GFX API that Sodium needs. But we're not doing it ourselves, and we think either contributing to Zink (OpenGL-on-Vulkan driver that's usable for any application) or Sodium itself is a better option than trying to rewrite the entire game.

You seem to know what you're talking about, i will redirect my request to vulkanmod showing them your reply.

commented

Minecraft should have maybe been programmed in C++

Brother, ur literally describing Bedrock...

Yes bedrock uses C++ and is much much faster than java, bedrock is also infiltrated by cringe microsoft, not going to play that ever.

commented

FidelityFX Super Resolution supports only Vulkan, DX12, DX11 not OpenGL.

No. This is simply not true. That is what AMD has tested it with, but the shader code they provide is GLSL and compatible with OpenGL with minor adjustments to the code. There are other implementations which port it to OpenGL 4.5 and blog posts talking about this.

Alright i'm taking that back then, i read on AMD's website that they support only Vulkan, DX12, DX11.
Tought the official source knows what they're talking about.
Minor adjustments sounds doable.

Capture

commented

"Looking at the sky" is not a benchmark and does not represent any actual workload.

We are not going to use the Vulkan API. Simply porting the game to use another graphics API doesn't solve the deep architectural problems that actually cause the poor performance. And implementing features like FSR does not require Vulkan.

I didn't only check the sky, if been walking around measuring the average FPS.
VulkanAPI Mod had 400 fps more as vanilla in average, same with sodium.
I know for a fact that VulkanAPI has way better performance then OpenGL because i have now seen it with my own eyes.
Minecraft should maybe have been programmed in C++ instead of java, to late for that now..

FidelityFX Super Resolution supports only Vulkan, DX12, DX11 not OpenGL.

commented

FidelityFX Super Resolution supports only Vulkan, DX12, DX11 not OpenGL.

No. This is simply not true. That is what AMD has tested it with, but the shader code they provide is GLSL and compatible with OpenGL with minor adjustments to the code. There are other implementations which port it to OpenGL 4.5 and blog posts talking about this.

commented

I know for a fact that VulkanAPI has way better performance then OpenGL because i have now seen it with my own eyes.

Yes, of course, Vulkan is going to have less overhead than OpenGL, but the slowness in Minecraft is due to a poor use of OpenGL. Sodium is proof of the fact that a decent OpenGL implementation can be significantly faster to a barebones Vulkan port, without needing to rewrite every line of rendering code in the game.

Sodium 0.5 already provides a GFX abstraction which it uses instead of OpenGL directly, so that if someone else wants to write a "Vulkan Minecraft" mod they can do it themselves, and implement the GFX API that Sodium needs. But we're not doing it ourselves, and we think either contributing to Zink (OpenGL-on-Vulkan driver that's usable for any application) or Sodium itself is a better option than trying to rewrite the entire game.

commented

Minecraft should have maybe been programmed in C++

Brother, ur literally describing Bedrock...