Skip to content(if available)orjump to list(if available)

Why Blender Changing to Vulkan Is Groundbreaking [video]

mdp2021

Abridgement - made by this poster, not automated - over the transcript:

> This year, Blender is transitioning to Vulkan, which marks one of the biggest performance boosts in its history: weʼre talking about a leap from a cold start time of a minute 52 to opening Blender in 6 seconds. // Vulkan ... simply put, itʼs the industry standard API. [...] Blenderʼs current API is OpenGL, which has some major flaws. OpenGL ... really struggles using multi-core CPUs. // OpenGL ... automatically sets up most low-level features like memory management, synchronization, and hardware interactions. ... But high-level APIs come with a huge trade-off: theyʼre slow. // Writing code that performs better in Vulkan is a difficult task ... OpenGL is like infinitely easier than Vulkan. Vulkan ... is a low-level API. [...] Vulkan can perform up to 18 times better on certain tasks. [...] For tasks that heavily rely on the UI, we will see a much more performant system. [...] Essentially, interactions between the user and the program will be much faster, but the underlying automatic system will not see a direct speed increase from Vulkan. ... While I would love for my final render to be faster, I would much prefer to have a performant viewport thatʼs more stable and faster, which is what weʼll have with Vulkan. But this is not the only thing it brings to the table. Many corporate sponsors have granted money to Blender primarily for a Vulkan integration. AMD is donating $120,000 per year to help fund Blenderʼs transition to Vulkan.

greenknight

I have never had Blender take 1:52 to open... ill open it now cold. 5 seconds.

0x_rs

If you're wondering about the source of the benchmark, refer to the following, page 36:

https://www.vulkan.org/user/pages/09.events/vulkanised-2025/...

jay_kyburz

Perhaps he means opening a large scene with lots of textures or shaders or something.

wlesieutre

That's exactly what it is. From the presentation link posted in another comment:

Test: Start Blender, open scene, final viewport 3000 objects, 550 materials, 200 images

bilbo0s

In that case, I’d seriously question the 6 sec vulkan startup time. Since the bottlenecks would be IO speed and memory availability, not processor speed. Certainly not GPU speed. Assuming assets with, say, 8k textures and millions of verts per mesh. All compounded by the scene containing, say thousands of said meshes.

Time in Vulkan or OGL would barely register against IO and memory when loading such scenes.

tczMUFlmoNk

Blender 4.2.0 opens to splash screen in about 500ms on my laptop. I have no idea what that number could mean.

edoceo

Wonder if they pulled that from some biased telemetry.

thatjoeoverthr

It's probably a random text generator. Blender opens for me instantly, as it always did, since the first time I ran it on a 75 mhz Pentium.

RestartKernel

I don't get how cold start time would be affected, to this degree, by the API used to render the UI.

bilbo0s

It isn’t.

poisonborz

This is a rather bad intro to a great topic, the comments point out a trove of errors and false parallels in the video.

sureglymop

Ouch, that video was painful. But the comments are great. I'm glad there are humans that try to make others aware of the issues there.

neilv

Recent Blender versions have OpenGL version dependencies and VRAM requirements that aren't supported on a lot of older or lower-end PCs.

For fans of, say, older laptops that have "mechanical" keyboards, or people who only have access to less-powerful hardware, I wonder whether Vulkan will re-enable support for the latest Blender.

(Though the VRAM might still be a problem. As will local rendering of expensive animations.)

kvemkon

Blender is the 1st software (not a game) I'm dealing with, which refuses to start with OpenGL 3.3 available. Nowadays Blender requires 4.3 [1].

> VRAM requirements

2 GB [1].

[1] https://www.blender.org/download/requirements/

flohofwoe

GL 4.3 as minimal version most likely means that they are using compute shaders. The GL 4.3 standard is 13 years old though, so it's not exactly bleeding edge any more ;)

kvemkon

I've been thinking Blender uses OpenGL only for previews not for the actual rendering. Could not compute shaders be optionally enabled?

The OpenGL 3.x hardware itself is capable of OpenCL 1.x including CL/GL interop.

mdre

What’s really groundbreaking is the amount of ignorance displayed in this video. Also, I’m curious how long will it take for blender to reach performance parity with OpenGL. Houdini has been taking a few years now and VK is still 2x slower then opengl apparently.

flohofwoe

> Houdini has been taking a few years now and VK is still 2x slower then opengl apparently

Ouch, since OpenGL isn't exactly known for being performant to begin with.

This sounds a lot like Houdini has its core rendering code designed around the granular 'state-soup model' of OpenGL and is now trying to emulate that same behaviour on top of an API which expects that all state combinations are baked upfront into immutable objects (which in some situations - especially in DCC tools - may turn out to be impossible, because they may not be able to predict all required state combinations - or the number of required state combinations is simply to large too create upfront).

There's quite recent extensions for Vulkan (VK_KHR_dynamic_rendering, VK_EXT_ extended_dynamic_state and VK_shader_object) which try to break the extreme rigidity of the Vulkan 1.0 API and go back to a more OpenGL like dynamic state soup (which IMHO is going too far, because GL's granular state soup is also its biggest problem - the best compromise is somewhere in the middle, see D3D11 or Metal) - but it might help moving code from GL to Vulkan without having to discard and create pipeline objects all the time.

an_aparallel

I hate seeing how awesome Blender...free software is..in comparison to roughly $5k a seat program like Revit who's graphics rendering looks like it comes from a 90s shareware floppy disk.

dfex

THIS! I'm working at a large construction project now, and am continually amazed at what "state-of-the-art" realtime 3D in Revit looks like. Yes, all these corporate laptops have shitty GPUs, but come on, I got better fidelity in Quake 3 Arena 25 years ago on machines with 1/10th of the spec.

an_aparallel

Did anyone order graphics with a side of tearing?

an_aparallel

Nice to see Autodesk downvoting.

shove

All the videos I’ve encountered from this channel have a disconcerting combination of incredible production value, and highly questionable attention to detail with respect to the information that’s being disseminated

bn-l

That is YouTube in a nutshell in 2025.

forrestthewoods

Vulkan is probably better than OpenGL. But don’t confuse that with Vulkan being good. It’s not. Vulkan is bloody terrible. Khronos design by committee is incapable of designing an API that doesn’t suck. It’s a shame we have such few choices.

voxelghost

Mind expanding what sucks about it? It's been a number of years since I did any serious OGL work, but at the time Vulkan looked like it was going to be a major step in the right direction.

Perhaps that is the problem, for any new general GPU API to get industry traction, driver, and os + tool support -takes a lot of time, and it feels obsolete by the time it is put to practical use.

MintPaw

Here's some deep context from someone who understands the situation. https://github.com/cmuratori/misc/blob/main/vulkan_dynamic_s...

Additionally yes, traction has been pretty weak too. It's still a wrapper on iOS/Mac and slower than DX12 on Windows. When you want something easy and crossplatform use OpenGL, and if you're really going to max out perf, then you use DX12 and Metal(which tbh might be easier than Vulkan too), so Vulkan's in a kinda awkward place.

flohofwoe

IMHO Vulkan has two main problems:

- it inherited the 'vendor extension mess' of GL, e.g. the development process of Vulkan is to let GPU vendors write extensions which are eventually declared as 'core', this sort of 'design by committee^H^H^Hvendor' approach will ineviatably result in a hot mess of an API after a couple of years

- it tried to cover the whole range between low-end mobile and high-end desktop GPUs with the same API, pretty much all design warts of Vulkan exists because it had to cover mobile GPU architectures that were already outdated with Vulkan 1.0

At least Khronos is aware now about the issues, question is whether it will result in any actual improvements, and how long that will take:

https://www.youtube.com/watch?v=NM-SzTHAKGo

Glittergorp

I am a fairly novice 3D programmer (but experience programmer) and Vulkan is much more complicated compared to OpenGL to even get the basic triangle working.

flohofwoe

The basic idea was that you trade more upfront work against a much leaner and efficient render loop, which on its own isn't a bad idea (all modern 3D APIs do that). In Vulkan this idea is just badly executed (e.g. look at Metal for a much better - and much more programmer-friendly - implementation of that same idea).

UncleEntity

Back in the day, when Blender still had an openGL python module[0], I made a pie menu prototype without too much fuss.

With Vulcan, with what I've seen, this would have been a major endeavor just to get to the point where you can get a canvas so you can put some pixels on the screen as you have to do a whole lot of state setup and bookkeeping. Not really something you can wrap as a relatively simple python API for someone to do quick experiments with.

I did some other completely random, definitely not recommended, stuff in Blender like this camera motion tracking thing which would rotate the viewport as the camera moved and have the camera video as the background (also using the python GL module) to reproduce this paper I found on the interwebs. I also found the Clippy sprite sheet but decided that was probably a bridge too far even though it wouldn't have been too hard.

So, yeah, if you want your program to be crazy extensible a simple API is probably the best. Might not matter too much these days as you can just get the robots to do the hard work.

[0] I heard they were going to rip it out but haven't checked if they ever did

kvark

Shipping Vulkan in production on Linux is a challenge. Chrome was dealing with it for a while. Recently, with Zed ported to Vulkan, we saw the variety of half-broken platforms and user configurations.

I'd recommend Blended to not close the door on OpenGL and instead keeping it as a compatibility fallback.

flohofwoe

Another option might be to write a D3D render backend for Blender and run that on top of DXVK on Linux (which is probably the most robust and most tested 3D rendering path on Linux thanks to Proton - with the assumption that DXVK contains tons of workarounds for various Vulkan driver problems that had been encountered in the wild by Proton).

ChocolateGod

on Linux it seems the direction is to drop the OpenGL drivers and run a compatibility layer on top of Vulkan.

kvark

Sure. Maybe that's the forcing function for them to nail down all the kinks. Example: https://github.com/kvark/blade/issues/205

echelon

> Recently, with Zed ported to Vulkan, we saw the variety of half-broken platforms and user configurations.

Thank you for sharing this! It'll be good to prevent others from following down the same path (my team included).

How is life at Zed? Have y'all raised capital in line with Windsurf / Cursor? Are you bootstrapping instead?

It's phenomenal that y'all are working natively in Rust rather than building on kludgy web tech.

null

[deleted]

senectus1

I just tested a cold start of blender 4.4.3 on my system (10th gen i7, 32gb ram, 4070 ti S 16gb, Fedora Linux) it was about 8 seconds, and that was through steam... Warm start was about 3 seconds.