2
$\begingroup$

I'm new to Blender and am trying to understand how Blender uses the CPU and GPU? I have a budget CPU with 4 cores/8 threads (AMD Ryzen 5 3400G). When I started looking into making some 3D animation I decided to purchase the NVidia 2060 KO. In a benchmark I noticed the time improved greatly (before 12 minutes now 2 minutes). The thing I'm confused on is that even though it's using the GPU it's still rendering the frames in tiles. Is it that each CPU thread is working and managing a task with the GPU? Or is the GPU generating one tile at a time much faster alongside the 7 or 8 tiles that CPU is working on at the same time?

The reason I ask is that I'm considering purchasing a 2700x CPU for about $150 which has 8 cores/16 threads. It's the previous generation CPU that is half the cost of the current 3700x that also as 8 cores and roughly the same clock/boost speed. It is also the same architecture as the CPU I have now (Zen+).

So I'm wondering if doubling the cores with the 2700x will roughly half the time the frames take now from 2 minutes to 1 minute (assuming CPU is working with or managing GPU)? Or will it mean 8 additional tiles at a time that the CPU only works on and would half only the CPU dedicated work (meaning perhaps instead of 2 minutes it may be something like 1:40)? i.e. Is it a cheap way to virtually half the overall processing time?

If it depends on the type of animation I'm working through a tutorial by Black Plasma Studios to create Minecraft based videos. These are no heavy in physics (like hair flowing, smoke, etc.). Which leads me to another question: Would complex animations that include animated hair strands, grass, smoke, lots of physics benefit more from CPU cores vs the GPU?

Thanks.

$\endgroup$
  • $\begingroup$ This question is off-topic, and has barely anything to do with Blender. $\endgroup$ – Nate_Sycro27 Feb 4 at 20:39
  • 1
    $\begingroup$ I disagree. I'm trying to understand how Blender uses hardware so I can make an informed decision on hardware to purchase. Where should this question be posted in your opinion? $\endgroup$ – pcapazzi Feb 4 at 21:24
2
$\begingroup$

If you've selected to use both the GPU and CPU for rendering, the GPU will work on a single tile while each CPU thread will also work on a tile. In this case, you will see the GPU rendering single tiles much quicker than the CPU threads can render their respective tiles. However, if your GPU does not have enough video memory to render a scene, Blender will use your CPU to render. Unless you're working with massive scenes, I don't think that's the case here.

To find specific render times, go to Blender OpenData to view the benchmarked times for various devices. Note that this is for that specific device(s) being used to render. Since the hardware you're interested in isn't in the top 50, go to the Raw Data section and find the relevant benchmark times in the JSON file (which you can do by importing the file to Excel). It's not the most user-friendly, but you can also search for benchmarks 3rd parties have done and posted online.

I do not believe that your render times will be halved. To my understanding, if you're only using your GPU to render, the CPU will be doing physics calculations (hair, collisions, object transformations etc.) while the GPU deals with rendering actual scene once the CPU has calculated the aforementioned things.

When it comes to multicore processing, things get a bit tricky. Many calculations cannot be done in multiple threads and must be sequentially calculated. For example, consider an object parented to another during an animation. Blender must first calculate the parent's position, and only then can it calculate the position of the child relative to the parent's position.

| improve this answer | |
$\endgroup$
  • $\begingroup$ Thank you! That makes sense. I'll stick with what I've got then. $\endgroup$ – pcapazzi Feb 4 at 21:51

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.