Blog

Do you need more RAM for 3D? You might be missing these enhancements in Blender.

How much ram

This article provides an overview of key areas in Blender 3D that benefit from utilizing RAM resources on your personal computer (PC). It aims to address whether upgrading the RAM in your PC can lead to improved performance in specific scenarios. However, it is important to note that this is not a step by step guide for configuring or setting up RAM memory in your PC, as such information should be obtained from your mainboard guide to ensure proper pairing of memory modules for dual channel or single channel threading.

To provide a general context, the subsequent sections outline the specific areas in which notable performance improvements can be anticipated when utilizing a PC desktop or a high-end gaming laptop:

Simulation for particles or image size can affect how fast your renders are depending of your RAM

Multi-threading at Memory, CPU or GPU?

Thinking of building a new PC for Blender 3D, gaming and streaming? How will your desktop handle all of these tasks? Let’s start with Blender. In a broad stroke, having an NVIDIA 3060 RTX (or above version) Graphic Card will help you to:

  • Render faster tiles in your scene.
  • Process big textures (4K UDIM tiles come to mind)
  • Cycles faster light-bounce computation
  • Complex shader tree (networks) material render faster
  • Use the AI addons to generate images, much faster. Stable Diffusion runs locally faster.
  • Optix technology to denoise and render cleaner passes

Having a faster CPU (multi-core / threadripper processor) will help Blender’s code exectue optimally which is important for different tasks regarding internal libraries from the CPU itself (like Intel’s SYCL) . In general having 8 or more physical / virtual cores is going to:

  • Process the language code required for Cycles, the GPU and C++, faster
  • Intel’s Embree optimizes polygon and simulation handling in scenes. Embree are core libraries required to accelerate BVH object data (not to be confused with the motion capture format, or the particle volume cache, which have the same initials)
  • Viewport performance (in combination with the Graphics card + Ram)
  • Intel’s oneAPI compatibility (Blender core code for multi-processes) + ARC graphics (allowing depth of field to be active in the viewport, for example).
  • Distribute tile rendering (at graphics level and processor level if configured from Blender’s user options) in an optimized bucket pack for BVH data)
  • More “undo’s” without crashing.

There are different RAM memory speeds (DDR4, DDR5, etc..), which synchronize with your CPU clock and processors to delegate (…I call it transit…) data packs and code from Blender and the Operating Systems (O.S.) itself. So here are some major differences when we use more RAM comparing different O.S:

  • Linux based O.S. PCs will perform better when Ryzen threadrippers have more Ram available, this is because the way the operating system works distributing data and (natively) how code should run in general. (Imagine a big city with all of their alleys having 4 drive lines… those are just the “alleys”, picture the highways for fluent car traffic with extra lines for buses and cargo truck driving…that’s what basically Linux kernel does to optimize performance evaluation).
  • The reason why many CLOUD services (Amazon AWS comes to mind) run on Linux is out of the question. It’s the “de facto” architecture to run multiple taks to simulate and distribute big data evaluation and it’s a very robust way to manage rendering farms. In addition, Blender can run in multiple machines faster and better in Linux due to its O.S. nature.
  • If you’re a PC user using 16+ cores for Blender, you’ll find it easier to render bigger scenes and overall image size with 4+ passes per image (multilayered-exr). In addition to the current multi-threading Tracking operators and solvers; simulation, sculpting and hair-curves are faster to compute when combined with the previous CPU and GPU factors.
  • Multitasking between apps, music and video. Last but not least: If you are generating renders from Blender, Editing the timeline in After effects, color correcting some new renders in Davinci, texturing objects in Substance Painter, while checking email from the browser with 12+ Youtube windows streaming music or watching the latest Activemotionpictures tutorial , more RAM memory guarantees faster application switching without crashing (and keeping all those “copy paste” operation in their own application clipboards without crashing or corrupting files).

What areas do we see improvements with more RAM in Blender 3D?

Here’s a summary in case you’re thinking about getting more RAM:

Eevee’s realtime viewport + Compositor, can playback particle / hair / fracture simulations in Blender

Cloth Modifier >Physics Tab.

Cloth simulation will grab the “pre-assigned” ram cache depending on the frame number you’ve told the cache to simulate. Cloth simulation will also depend on your hard drive. If you have a non-SSD, you’ll experience slow simulations as a side result of not having enough RAM. Get an SSD and more RAM if you’re into serious cloth simulations in Blender.

Fracture Modifier / Rigid bodies.

When you shatter objects in Blender, that pre-calculation time as well as the simulation for each piece to have it’s own mass and weight, are going to make that “cache to disk” an option to run your simulation faster, but mind the first point recommendations. If you don’t want to cache to your SSD, caching to RAM playback will not be a problem.

Fluid Simulation

You will directly see an important performance in caching sampling timesteps/substeps (better evaluation between frames for liquid), CFL number (better evaluation sub-frames for speed and collision between fluid volume), and obviously large volumes when generating VDBs with their collisions or domain limits (overflowing is better handled).

Fluid simulation can be read from RAM or SSD for playback in Blender

Polygon count

If you’re an sculpting artist, one of the best way to handle half a million or 10M polys on your sculpting session is going to be a great graphics card, and of course: more RAM. All though Blender code is not *currently* directly taking viewport “ram cache” for scultping, the new implementation of Dynotopo operations are going to bring new optimized changes in Blender 4+ with this in mind.

Playback frames

How many times have you created a rig for your character and the viewport starts to slow down as more and more modifiers are added or even if you have 1 or 2 levels of subdivision? It might not affect speed playback for small scenes with a few objects, but once you reach a few hundred thousand polygons, again, you want to have that RAM available. Realtime playback for videos and image sequences in the Compositor or the Video sequencer editor definitively see a better performance when creating proxies, compressing video or using the cached data to write to file sequence (again, it is better if you have an SSD hardrive for faster read/write operations) using more Ram.

Material Textures + Shaders.

If you work as an environment artist with procedural shaders, having a strong graphics card + more RAM would definitively benefit your workflow since scenes will load up faster. Blender “compiles” complex shaders, evaluating texture images (and their size), plus other procedural operations if you’re using EEVEE to create materials. Cycles will be dependent on many settings on the Render Tab to optimize light paths, reflection, passes and some of those settings will depend on how much Vram or RAM your system has (hence so many crashes with 1 specific frame in some animations, you might be running out of GPU Vram). In your user preferences, you can choose if you use CPU or GPU or both, to optimize your workflow.

If you have two different graphics card in the same machine, Blender will use both to render, but it will be to the speed of the LOWEST performant graphic card. This is why it is always recommended to buy graphics cards that are of the same brand and the same tech specs, if you are considering cutting your render times in half on your current workstation.

Conclusion

In addition, the above observations have been gathered from questions asked on Blender Stack Exchange. I read and collaborate with deeper technical answers to new coming artists from other software applications, and these questions about RAM were too many to ignore. I hope you liked this article.

Comparing RAM as the only performance booster for Blender is similar to saying that “cheese is the only ingredient needed to make pizza,” which is not entirely accurate. Just as many factors contribute to making a delicious pizza, various components work together to determine the performance of a PC or laptop, whether it runs on OSX, Windows or Linux. These components in hardware and software work in harmony, performing tasks like executing code, referencing core libraries, and compiling shaders. It’s the collective effort of the GPU, CPU, RAM, operating system, and SSD that creates an exceptional experience when working with 3D and VFX.

What peak performances have you seen after upgrading RAM for Blender 3D in your system?
Let us know in the comment section below.

-Pierre.

All of these simulations in the video were done in a 32-core Mac workstation and 64 Mb Ram back in 2012-2014. Many of these renders took around 6 to 8 hours in PC. The MAC workstation would finish them in 45 minutes. In 2023, rendering in Realtime using Unreal Engine or Blender can significantly cut render times with high quality finish in a few minutes using a strong 4060RTX Nvidia Graphics card, an i9 processor and 32+ GB of RAM.

Share your thoughts here.

This site uses Akismet to reduce spam. Learn how your comment data is processed.