Hello i have a simple quetsion, when blender move somes features, like Cloth Sim, Shader compilation, EEVEE Live render bases on GPU and many mores, on GPU ? I know a branch was created for switch all the system on VULKAN than OPEN GL in the past. But is a real question, we are in a time or the GPU Is better than CPU for some calculation, for exemple, somes engine like Unreal, godot, unity, some part of houdini or many mores software… same for CLO 3D / MARVELOUS DESIGNER, have already switch a lot of part on GPU calculation… WHY ? Blender ? Is slowly for that features ? such a long time now everybody know the GPU Is better than CPU…
Road 1 :
SWITCH SOME FEATURES ON GPU AND KEEP SOMES ON CPU
Road 2 :
LET THE USER CHOOSE WHAT FEATURES IS CALCULATED ON GPU OR CPU AND WHEN IS COME TO RENDER ALL THE PART CAN BE SWITCH ON THE CPU FOR USE MAXIMUM GPU… ?
Is not a request or suggestion is just a question about the CPU / GPUS DEV …i’m really lost i follow some task in developer.blender.org and some has in dev such a long time… i don’t say the dev is slow… but when you begin a task finish it ! Alright, i just want a response, when blender move on true GPU ?
PS : (I learn C++ i want become a c++ dev soonly, i want create a new area for blender based on ANIMATION GAME ENGINE (Blender animation for incredible effect is a big feature missing, geometry node is geo node, but let me said if you have a displacement map in shader editor… is because we can use it for make some animation of for add some node he doesn’t exist now… My goal is make animation node bases on Shader like morphing, displacement, emitter with physics, collision cloth and many mores features something is needed for new ERA Of animation / Shader animation for Blender) I make a prototype actively, and when is finish i post it in DEV, is my project contribution for blender )
You mean like giving the users the opportunity to pick whether Cycles should use the CPU or GPU? Or having the option to use the GPU in the compositor?
Getting something to work on both CPU and GPU simply takes way more time to develop and it tends to be more difficult (in my experience (not in Blender)) to get good results and stability across platforms.
As can be seen by the banner above every page, this is not the right place for requests.
This is a dedicated place for Blender module teams to reach out to contributors - development questions are welcome.
For feature requests, please use rightclickselect.com. For questions about how to use Blender, ask on one of the community forums.
Edit: Moved to the “Other Development Topics” subforum, can stay open here.
Hello dear developer, for quite some time, and with a lot of hindsight, I have been watching and thinking about the optimization of real time in blender, As long as it is on the side of fluid simulation (Gas, water, smoke, Foam etc…)… There is something that I would like to understand, but I can’t find the answer to my question, that’s why I open this topic. For example, we agree that the “EEVEE” rendering engine works under and only under the GPU, But only the rendering engine works under the GPU, and not the other ancillary calculations such as, for example, fluid simulation , or even the calculation of collisions??
i know some task can be multi-threaded, but a lot of GPU are a big power of compute, for some task is better and this is for that the GPU is used on big software for more power, and polyvalency.
If The answer is yes… I wonder why don’t we just move everything that sits (or can), on the CPU and move it to the GPU so that everything is computed by the GPU And gives us real time, in the same way as a real game engine for example…?
(When i’m talking about the real-time first i’m talking a realtime in viewport first with 30FPS constant minimum)
(This is not an idea but a discussion to weigh the pros, cons, and how to proceed.)
Because that is a hard task which needs specialized GPU programming knowledge. Sure, it would be nice to have but someone needs to make it as well. It’s not like we can just decide ‘we want to run the physics simulation on the GPU’ and then it magically happens! Those are complicated things that need a lot of work.
Also, creating a GPU version is always extra work, because you need to have a CPU fallback for people with incompatible GPUs.
Would it be nice to have? Sure, that needs no debating. Is there currently a core developer who doesn’t have anything more pressing to do? I don’t think so.
So unless you propose to do it yourself is is not the most useful discussion to start imho.
Yes, let’s do it! It’s as easy as rewriting nearly every single line of code in blender…
And while we’re at it lets make computers with only GPUs and no CPUs, because GPUs are better at everything right?
Jokes aside, even if there was ressources to rewrite a lot of functionnal parts of blender for the GPU, it wouldn’t necessarily be a good idea.
GPUs are great at very simple operations massively parallelized. But they have limitations when it comes to precision and complex computations.
You cannot move everything to the GPU because then you end up with an idle CPU and an overloaded GPU that must do a lot of things.
GPU actually has a lot to deal with, you can enable GPU subdivision that makes GPU subdivide meshes, and then it has to actually render. And even on RTX cards this takes time.
Sims, well, may benefit from GPU if it was that easy to make them GPU accelerated. As said, it’s relatively easy to use GPU for parallel operations, but when we talk recursive algorithms, things get a bit muddy and harder.
It’s the kind of thing that if it was that easy, it would be done already by now. You know, not all of the raytracing can be GPU accelerated, like, example, Bidir path tracing only works on CPU, or you need to create a custom version of GLSL for them to work on GPU, because originally those are a CPU thing.
It’s cool to think these things, but there’s more to it, always.