6 ms·
Why Blender Changing to Vulkan Is Groundbreaking [video]
- mdp2021 1y agoAbridgement - 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.
- RestartKernel 1y agoI don't get how cold start time would be affected, to this degree, by the API used to render the UI.
- bilbo0s 1y agoIt isn’t.
- greenknight 1y agoI have never had Blender take 1:52 to open... ill open it now cold. 5 seconds.
- jay_kyburz 1y agoPerhaps he means opening a large scene with lots of textures or shaders or something.
- wlesieutre 1y agoThat'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 1y agoIn 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.
- jcelerier 1y agoBut isn't one advantage of Vulkan over OpenGL that it's more standard to upload data such as large meshes and textures from multiple threads ?
- bilbo0s 1y agoBut you do that in OGL in any case. Most software dealing with that large an asset base does so using the old fashioned shared context style threading. It’s all gonna come down to how fast is your IO and how fast is your memory. 6 secs to load all that data, be it via vulkan style threaded submissions or OGL style threading via shared context and syncing, is not likely to happen on most laptops. Even workstations may struggle to read in and generate the necessary data. Most of the reading and generation stage is usually happening entirely outside of the gpu. All of the reading. And most of the generation. Both are going into main memory first. Again, generation will be way faster than read in assets, but most of the assets would be getting read in. That’s IO before you even make a single vulkan or OGL call. No way around it.
- poisonborz 1y agoThis is a rather bad intro to a great topic, the comments point out a trove of errors and false parallels in the video.
- sureglymop 1y agoOuch, 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.
- deleted 1y ago[deleted]
- an_aparallel 1y agoI 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.
- an_aparallel 1y agoNice to see Autodesk downvoting.
- dfex 1y agoTHIS! 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 1y agoDid anyone order graphics with a side of tearing?
- neilv 1y agoRecent 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 1y agoBlender 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/ https://www.blender.org/download/requirements/
- flohofwoe 1y agoGL 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 1y agoI'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.
- flohofwoe 1y agoAFAIK the entire Blender UI (not just 3D preview) runs on top OpenGL. I don't know if compute shaders were the reason for the GL 4.3 requirement, but from own experience, having to support different GL versions in the same code base isn't exactly trivial without resulting in a granular #ifdef-mess. The cleanest solution is to have different backends for different GL versions, but that means a lot of duplicate maintenance effort and code. But tbh, any cheap laptop made in the last decade should be able to run GL 4.3. The only exceptions I've seen so far are VMs and the Raspberry Pi.
- kvark 1y agoShipping 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.
- ChocolateGod 1y agoon Linux it seems the direction is to drop the OpenGL drivers and run a compatibility layer on top of Vulkan.
- kvark 1y agoSure. Maybe that's the forcing function for them to nail down all the kinks. Example: https://github.com/kvark/blade/issues/205 https://github.com/kvark/blade/issues/205
- echelon 1y ago> 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.
- kvark 1y agoI'm not employed by Zed, so I can't answer these questions. But the product itself is great!
- flohofwoe 1y agoAnother 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).
- forrestthewoods 1y agoVulkan 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 1y agoMind 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.
- Glittergorp 1y agoI 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 1y agoThe 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).
- Glittergorp 1y agoI understand that. As someone that is doing this stuff for fun and wants something cross platform (Windows/Linux/BSD, I don't care about macs) with native code (C/C++) it just raises the bar a bit too high. I am sure I could figure it out, but it easily doubles the time needed to get going.
- 1y ago
- mdre 1y agoWhat’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 1y ago> 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.
- shove 1y agoAll 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
- arresin 1y agoThat is YouTube in a nutshell in 2025.
- senectus1 1y agoI 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.