← All ideas

Real-Time Performance (Viewport) in Blender

Real-Time Performance (Viewport) in Blender for virtual production and interaction in RT

My proposal, although general, is extremely important for the future of Blender as well as the continuity Blender has committed to. And plus with the new backend Vulkan the task could be more easyer !

Concern 3 topics.

  • Geometry Nodes (GPU Computing / Asynchrone threading / Multi-hreading)
  • Real time viewport
  • Rendering optimizations

My proposal is about making Blender more dynamic, so that it functions interactively in "real-time". Recently, we have received many new nodes in Blender’s Geometry Nodes, allowing us to create fabulous and increasingly incredible projects! However, it turns out that the combination of multiple nodes in Blender's Geometry Nodes considerably slows down interactivity in the viewport and the loading of certain assets. This is why I suggest offloading some computations to a "GPU Compute" system and using asynchronous operations combined with multi-threading wherever possible. This should significantly improve the speed and flexibility of Blender’s Geometry Nodes!

The second major issue in Blender concerns polycount and viewport performance. For instance, there is no "geometry streaming" system nor "texture streaming". With just these two features, real-time interaction with the viewport and the possibility of performing "virtual production" would become feasible whereas today, it is simply inconceivable! Yet, I know it would be a tremendous asset for Blender and its community, making the software much more versatile, similar to a "Scene Composer" but even better, as seen in AAA Game engine, video game productions.

In summary, my global idea focuses on significantly improving the viewport, whether in the "EEVEE" or "Cycles" render engines, in standard shading mode, or during animation playback. There are multiple ways to achieve this! However, I am convinced that even a basic geometry streaming system would greatly boost Blender's performance both in the viewport (with or without a render engine) and within Blender’s integrated engines.

Of course, some improvements need to be made specifically within Geometry Nodes, but also deeper in Blender's core code. For example, integrating native frustum culling in the viewport would boost performance when viewing through a camera. This would already be a step toward better handling of massive scenes (which Blender still struggles with in 2025). Thus, it would be necessary to work directly at the shader level and operate closer to low-level processing rather than only high-level (e.g., Geometry Nodes).

And i will adds to finish with the new XPBD system is a great value for real-time simulation too ! So GPU compute in GN are very important and many other things too !

100%

Development Status: Open

Upvote 6 Downvote 0
Donovane
28 Apr 2025

3 Comments

jeroenbakker

These seems to be different proposals. Please split them up into separate proposals so each of them can be discussed and evaluated separately.

And I believe you already posted many of these ideas on other platforms. So we are aware of the proposals. However many of these proposals take more time and effort than you think, they also have draw backs when used outside the context of a gaming engine.

So the ideas might not work as you expect inside a content creation suite and would fit better in a gaming engine as godot.

For example how much time budget would you expect that preparing a model takes. The game engines you're referring to are also struggling with that without having the ability to move a single vertex around. Ignoring these differences doesn't help. So please improve your proposals including other use cases as well like animation, modelling, uv, sculpting etc.

Focusing on a single use case ideas doesn't give good understanding on how it impacts all users. Only describing benefits, having no draw backs also is important here.

Some of the ideas (GPU GEO nodes, texture streaming and geometry streaming) are being considered already for years. They are hard topics to do well and move slower due to other priorities, planning and having the right skills free for the projects.

2
Donovane Author

Thank you for your feedback. I actually preferred to propose a more general idea rather than a specific one, because it affects both viewport performance and several technologies I've already mentioned before technologies you're familiar with and whose advantages and limitations you understand.

My goal wasn't to reinvent what's already known, but to refocus on a global vision of their integration, particularly by taking into account their cumulative impacts. Even if some of these features have been under consideration for a long time (such as GPU Geo Nodes, texture or geometry streaming), the performance gains they bring are sometimes in the order of 25 to 50% or even more! These remain very real, even in an environment more focused on content creation than pure real-time. I know, for example, that we could have a "Scene Assembly" that offloads all the modeling tools in order to improve performance, for example, if that's really a problem, and then integrate all the technologies previously mentioned in this space!

I am well aware that these approaches require specific adaptations to suit more complex workflows (modeling, UV, sculpt, animation, etc.), but I think it is also useful to explore these axes even more broadly, to better adapt them progressively to all use cases and that it is high time to do tests and really get down to it. It has been pending for a long time and I am aware that without the backend (Vulkan) it was very complicated. But now that it is on the way to final implementation and finally to a stable progression, I suppose that everything will be much easier for the present and the future and coordinated with a "Modern" implementation.

While the Vulkan update will hopefully improve performance by a fair amount, stuff like texture streaming would definitely be a helpful addition (I think its a to-do thing for EEVEE Next). Things like shapekeys and armature modifiers also seem to decrease performance by a lot, I've noticed

1