KitBash3D Kits are very robust, containing large files that perform best when equipped with a setup that meets our minimum technical requirements. Even with an optimal setup, Blender users have experienced challenges with our Kits “crashing” or slowing down their Blender software.
We put together a number of methods to help you optimize your setup to get your KitBash3D Kits performing to the best of their abilities.
How to Assess the Issue
There’s not one cause to point a finger at that causes your software to lag or crash. It’s often a number of contributing factors that require some detective work to figure out a reasonable solution for. If you experience this issue, take notice of the following:
At what part in your process is your software “crashing” or lagging
What are you doing when those issue occur
Methods for Optimizing KitBash3D Kits in Blender
👀 Skip Ahead
Use Cycles with CPU
Running with Eevee [or Material Preview Mode] can be challenging because it has to compile every shader for every object and is prone to crashing if done all at once. Try using Cycles with CPU instead to utilize your RAM.
Convert your Textures
For some context, the default 4k textures are over 8GB and are at the maximum quality for main or close-up objects, which can enable some packs to struggle even with a powerful setup. This is often due to having a slower hard drive as the pagefile/swap drive and the system get choked up queueing up files to be loaded into memory.
To convert the textures to around Quality level 75 or 80 Jpg files, you’ll need to edit the Blend file to automate this.
It can help if the blend file and textures are on a different fast solid-state drive as well.
Setting your system pagefile to about 1.5x your RAM is also a good idea.
How to Batch Convert Files
Follow the steps below to cut your memory load from over 8GB to around 200-800MB.
Download Irfanview (free to download)
Open Irfanview and find the 4k texture folder. > Pres Add all > Set it to Batch conversion and the output format to Jpg.
Set the quality in the options beside the output format. > Then set a custom Output folder Below[I put it in /OUT if you can see the picture above] and press > "Start Batch"
Now you should have 2 folders "4k" containing the original images, and your new Output folder that contains the new compressed images.
To reassociate the files in Blender to the new images, the easiest way is to take the "4k" folder and rename it 4k_PNG. Then rename our Output folder JPG to "4k" like the original one.
You’ll now need to rename the file references inside blender that are still looking for PNG images. Our expert Blender Ambassador created a script for to make this process fast and easy:
Paste the script into the Scripting editor and press play.
Use Instancing or Reference Objects
Using instancing or reference objects is a great practice in any software to save memory. This is particularly helpful when working with large scenes, duplicating objects around your scene. Even with simple scenes and a few objects, if you don't use instancing when you’re duplicating a lot of objects, it can take up a lot of RAM and slow things down.
Increase your RAM
The more RAM, the merrier. The geometry (meshes) in the scene are loaded into RAM, not VRAM, which is not dependent on the GPU. For example, the entire Mission to Minerva Kit takes up just above 12 gigs of RAM in Blender. Our base recommendation for RAM if using our Kits is 32 gigs, so this leaves lots of headroom.
Reduce VRAM Usage
The textures in our Kits are loaded into the VRAM of a GPU when you are viewing the materials in real-time display or rendering. The amount of VRAM being used is heavily dependent on the software and how it compresses the textures.
To put things into perspective, when displaying all the textures at one time, like you’ll see in the image below, the amount of VRAM being used is a little over 7 gigs. That’s less than our recommendation of 8gb of VRAM; however, if you were to duplicate them multiple times while kitbashing a scene, the VRAM usage will add up which may lead to performance issues.
Try out the following methods for reducing VRAM usage to speed up your scene.
Adjust your Settings
In Blender, there's no direct way to limit VRAM usage to a defined number, but you can limit the textures’ resolution to help reduce VRAM usage.
To limit your textures’ resolution, follow the steps below:
Go to the "Render Properties" Tab
Under "Viewport," set the texture limit to whatever your Setup can handle.
*You can also do the same when rendering, under the "Render" section.
Download 2k Textures
Another way to reduce your VRAM is to download the 2k textures available with our Kits. Not all rendering has to be done with the GPU. For offline renderers, the CPU can be used. It may take a bit more time, but rendering is perfectly fine and it has been done this way for quite a long time.
Our Blender tutorial creator, Critical Giants, was right at our recommended spec and was able to create that complicated scene and render it in real-time when doing the lighting. Follow along his tutorial to try it out yourself!
Replace Texture with Single Value
A creator in the KitBash3D community shared this helpful tip on our Feedback Center:
“In the Minerva and Neo City kits, when loaded into Blender (and likely other packages) there are a lot of image textures used where the image is entirely a single value. Most often, this is metallic textures that are all black for non-metalic materials, but there are also lots of single color roughness, normal, and base color images. In Blender, these 2K and 4K images still take up a lot of VRAM.
I found that by removing the texture and replacing it with a single value I could reduce the VRAM of scenes without any visual change. This is for example by replacing an 4K image texture that is all black with the value of 0.”
If you have more tips on how to optimize your KitBash3D Kits for Blender, share it with us and the rest of the KitBash3D community by dropping a post on our Feedback Center.