Helooo, I'm back! How are you guys?
We bought some computing power so it's useful again for us to use network rendering.
We ran into many issues before getting a successful render and some things we ended up doing I didn't find in the documentation, so I thought I'd share it here for everyone and under your control.
Our projects contain many linked files pointing to both local and shared paths (on a NAS server). So here's our checklist before using CrowdRender (v0.4.4, Blender 3.2):
- On every machine :
- Uncheck : Preferences > Save & Load > Blend Files > Default To : ☐ Relative paths
- Disable Crowd Render (some error messages appear, not sure why but it's not problematic)
- Disable Auto-Save Preferences
- Save Preferences
- Close and reopen Blender
- Enable and start Crowd render only on one instance of Blender per each machine
- On the Client machine :
- Pack and localize all the linked images and datablocks that do not point to common paths (those that are not in the NAS server)
- Make All Paths Absolute, in both the project file and all the linked source files
- Disable Render Region
- Disable Compositing (not sure this one matters yet)
If you started with relative paths you may still have to delete all the linked objects and libraries (in Outliner > Blend file), then Save-Revert the main blend file and re-link objects to ensure all the paths are absolute. That's something to always check before launching Crowd Render if you don't want the pink of doom to jumpscare you.
Feel free to complete and/or correct this checklist.
Happy blending!
Thanks for those clarifications!
Note: we work on Linux, not Windows, so the error message when disabling CrowdRender may have a different cause than what you mentioned. I pasted the full message in this new topic.
Thanks for this!! Let me comment on your checklist as I think its a great thing to have and I want to expand a bit on each item.
- On every machine :
- Uncheck : Preferences > Save & Load > Blend Files > Default To : ☐ Relative paths - Yep, Blender by default will use relative paths. The easiest way we've found to use a NAS is to make sure the path to the NAS is IDENTICAL on each computer, including the master. The best way to do this is to use absolute paths and make sure the drive letter or mount point is the same. Also, mixing windows with mac or linux operating systems is going to cause you pain because they use a different convention for the root of the file paths. You can mix OS, but you'll need to use relative paths and then carefully, and I mean carefully, setup your folder structure on each node so that the RELATIVE path is exactly the same to the shared folder/NAS.
- Disable Crowd Render (some error messages appear, not sure why but it's not problematic) - the error is only on windows and it happens because disabling the addon doesn't actually remove a file handle to the addon files from Blender. Even though Blender isn't using the file anymore after disabling the addon, trying to remove the addon will result in an error because windows still counts Blender as having a file handle to one of the add-on's files. Of course this is a big no no in windows to try and delete a file that is being used, and that is why the error happens. You can avoid the error by disabling the addon, saving your preferences and then closing and restarting ALL blender processes (use task manager to hunt for background processes).
- Disable Auto-Save Preferences
- Save Preferences
- Close and reopen Blender
- Enable and start Crowd render only on one instance of Blender per each machine
This previous four steps above are required where you want to run more than ONE instance of Blender on the master or client machine. Running two causes problems and you just shouldn't do it!
- On the Client machine :
- Pack and localize all the linked images and datablocks that do not point to common paths (those that are not in the NAS server)
Yep, any thing that isn't on a NAS needs to be packed, but note taht you can't pack everything, anything that is a linked blend file, image sequence or video texture. These HAVE to be moved to a NAS
- Make All Paths Absolute, in both the project file and all the linked source files
- Disable Render Region
- Disable Compositing (not sure this one matters yet) - Not really as compositing is already disabled on each node, so it won't happen on the render nodes themselves. But it can be enabled on your master/client. If you have a compositor network in your scene you can enable compositing and then your composite step will be automatically applied to each frame for you and you won't have to run a second pass on the rendered frames.
If you started with relative paths you may still have to delete all the linked objects and libraries (in Outliner > Blend file), then Save-Revert the main blend file and re-link objects to ensure all the paths are absolute. That's something to always check before launching Crowd Render if you don't want the pink of doom to jumpscare you.
Yeah, ok this is how this works, in your blend file you'll have relative paths if you've run Blender's default setup and built your scene. So the first thing I'd do is change that setting and make Blender use absolute paths. Then you can setup your NAS
What you will have to do is setup your NAS environment, map the drives on each computer, take care to ensure you use EXACTLY the same drive letter on each machine or it won't work.
Once you're done setting up the NAS, there's a bit of work if you weren't using the NAS from the beginning of your project. You'll need to go to each data block in blender that you are using an external file for, and change the source of that file to the one on the NAS.
After you've done that, connect all your nodes and then, once they have synced, or sync failed, press the "Resync" button which is found at the bottom of the list of computers in our addon. This will send the blend file to each node with the changes to the file paths.
You should find after that, there are no more pink bits in your scene :P