Prepare the project
The rendered result depends on the correct configuration of the project file. To avoid errors and unnecessary expenses, carefully read the recommendations for each software that you used for your project. Lacrimas Farm is not responsible for the result of the project rendered without appropriate configuration.
C4D
Houdini
Blender
Maya
3d Max
Select the software in which you created your project, and in the list below you will find solutions to the most common errors:
After Effects
1. Project collection and structure
All files and folders of the project must be named in Latin characters, without special characters and without spaces.
As_separator_use_
underscore.

Correct name:
MyProject_shot1.blend
MyProject_shot2.blend
MyProject_shot3.blend

Project structure:
- Main folder and subfolders in which other files are categorized
- One or more scenes to be calculated.

Sorting options for subfolders:

- all assets (including textures) are put into one folder with the project
- textures are added to the Textures_ folder * project name * (Blender does not like base names), the rest is in the same folder with the project
- assets are laid out in the appropriate folders, make sure that the paths to the textures are linked in the project

Most file selection windows have a relative path checkbox, or when entering a path in a text box, use the double slash prefix // to make it relative.

Relative paths are set by default, but this can be changed in the edit-preferences-File paths tab

As a result, for a safety net, when you transfer all used textures and assets to the subfolders of the main folder with the project, activate the Make Paths Relative function
If suddenly you checked everything, tied it up, indicated the paths, but the path to the files was still lost, the Find Missing Files function will save you
Create a folder for exporting your sequences inside the project folder, so the project will become "standalone" and will not lose the render path after sending the collection to another computer.
Let the folder names be logical, and at the end of the path, specify a unique name for the sequence - for example, MyProject / Renders / Shot1 / Shot1_master
The key point that will speed up the receipt of the render is not to save all textures and assets to the blender scene file, it becomes huge, which leads to long manipulations with it, we proceed as follows:
2. Scripts, addons, simulations
If you use add-ons like Animation Nodes, TextFx and the like, use scripts or simulations in your project - you need to bake them before sending them to the farm.

For different cases, the procedure will be different, the main task of baking is to convert all animations into keys, i.e. save the project from dependence on third-party addons / programs before submitting. In the case of complex add-ons like Human Generator, hardops, etc. - you need to inform the manager - he will install the addon on the farm to avoid possible problems and loss of time.
An example of baking the Animation Nodes add-on, do not forget to uncheck the "Auto Execution" checkbox before saving
The path to the textures must be specified relative, otherwise you will get a render with lost textures - without specifying a relative path, the blender searches for textures and other external files through C: / or another drive on your computer, respectively, on the new one they lose their binding.
3. Optimizations
Take a close look at the lighting in your scene and leave only what is really needed. For example - with the latest updates, Mesh Light is faster and cleaner than Area Light.
Sources of light
Modifier that reduces the polygon density by a percentage. It comes in handy when you need to quickly reduce the number of polygons in highly detailed meshes. It also preserves UVs in most cases, so the textures will stay in place. This is probably the easiest way to optimize your scene.
Decimate Modifier
However, it loads the system when it counts polygons, which affects the work in the viewport, and sometimes the rendering. Therefore, it is better to apply the changes immediately, so as not to burden the system with further additional miscalculations. Yes, the process becomes destructive for the topology, but no one bothers you to save backups of the original models in a separate collection.

It is also important to understand that if you use the batching method described above, then the modifier applied to one instance will not be applied to others, and the linking of objects will break. If you want to apply a modifier to a collapsed object, then apply it to all at once. It is best to initially apply the modifier to the original object, and when you duplicate instances, it will automatically be applied to all. (or even better, apply it right away, and then multiply the instances) And, obviously, the values of the modifiers must be the same.
Do a retopology if suddenly you don't. But it is not always necessary, you should know. And if you feel that you are not enough to make it humanly with your hands, then just use another free and open source software - Instant Meshes. He will do everything for you, you will not even notice - it works, as they say, instantly. There is a Remesh Modifier in the blender, which will also do everything for you (but not the fact that it is good)
Retopology
1. Prioritizing the size of textures

Prioritize - whatever is large or close to the camera is 4k or more, the rest is 2k or less.

2. Render textures not in .png

The easiest and most effective way to optimize textures.
.JPG files weigh much less (on average 4 times) - and this is the main argument. From a purely technical point of view, a .jpg contains much less information than a 16-bit .png. But this is not scary, and only plays a role when working with maps such as displacement, normal and height. Otherwise, textures in png are just a waste of resources.
As we remember, before starting rendering, all texture maps used in the scene are loaded into video memory. That is, if for one material you use, say, 5 images (base color, metallic, roughness, height, normal), and you have 21 textures, then 105 images are loaded into memory, respectively.
Texture optimization
Instances
When you copy an object (just copy via Ctrl + C → Ctrl + V, the blender considers that this is a completely new object, and does not transfer the material, but creates a unique copy of it. For example, a copied object with a material called "ass" when inset will become an object with material "ass.001".

Moreover, all texture maps will also change. For example, if the original "ass" material had three maps:
  1. «ass_albedo»,
  2. «ass_roughness»
  3. «ass_normal»
then the new material - "ass.001" will have maps:
  1. «ass_albedo.001»
  2. «ass_roughness.001»
  3. «ass_normal.001»
And these are completely different cards, and they will be loaded into video memory as separate images.
In general, keep the number of materials strictly equal to the number of unique elements.
In general, copy the elements using Shift + D to keep the original materials, or Alt + D if you want to tell the blender that the objects are completely identical. And use the menu Ctrl + C → Ctrl + V for everything else.

But what if you already see materials like "ass.027" in the list?
Batching again
You can select all the same objects, which in our case are 28, press Ctrl + L, and link information about the object between them.
One thing: if objects have multiple links to other objects, those links can break everything.
Pressing Ctrl + L, you can link not only all information about objects, but also separately information about materials (Make Links → Materials - Such a knight's move will simply leave the same material on all n objects, and will not break anything.)

The question remains:

what about the orphaned 27 copies of the material?

Unnecessary materials and textures should not be stored in the project. This may not have a huge impact on performance, but it will help to some extent. In order to remove all unnecessary materials, objects, etc. from the project in the blender there are purge / purge all buttons in the Orphan Data subsection