Harmony Server allows you to use batch processing to automatically delegate vectorization and rendering tasks to different computers, which will perform them in the background, so as to optimize your network's resources and avoid making project collaborators use their own workstation to render scenes, which can stall their machine by using up all its resources during the process.
In other words, batch processing allows you to create a render farm using the machines that are connected to your Harmony database server.
There are two types of tasks performed by batch processing:
Vectorization converts scanned drawings to vector drawings. Scanned drawings are stored in bitmap format, and must be converted to a vector-based format before they can be painted in Harmony. In a traditional animation pipeline, this step is required before you can start painting scanned drawings.
When scanning a drawing using the Scan application, they are automatically sent to the vectorize queue of the database. It may sometimes be required to send drawings for vectorization manually in Control Center, for example in the following cases:
- To processing images that were not scanned in the Scan module.
- To recover the unpainted drawings after making an unrecoverable mistake while painting or post-processing the scene.
- To vectorize a pencil test.
You can open any specific job's vectorize queue in Control Center to check on the status of vectorization jobs.
Also known as compositing, rendering is the process of creating final frames for a scene and storing them as image files as well as movie files. Rendered images have all their effects composited and are created in high quality, as they should be used for post-production and broadcasting.
Rendering a scene is a resource intensive process, and it is impractical for animators to use their own machines to render their scenes after working on them, as the rendering process is likely to stall their machine and prevent them from working on their scene any further until it is completed. Hence, by setting up batch processing, they can delegate the rendering process by sending their scenes to the rendering queue. Machines configured to perform batch processing will take care of performing the rendering job when they are ready and scheduled to do so.
You can open any specific job's render queue in Control Center to check on the status of rendering jobs.
Configuring Batch Processing
In order to configure batch processing for a Harmony database, machines that must perform batch processing tasks must be configured to do so. This configuration procedure can be broken down in three basic steps:
- Add the name of the machine that will perform batch processing to the Harmony database's machine list.
- Install the batch processing service on this machine. This service will run in the background and monitor the database for batch processing tasks to perform, then process these tasks in the background.
- Create a batch processing schedule for this machine. The machine must be on a batch processing schedule in order to perform batch processing. Any single machine's schedule can be unrestricted, which means the machine always performs batch processing tasks if any are on queue, or can be restricted to specific hours, specific environments and specific tasks. It is recommended to schedule machines to perform renders outside of business hours so as to avoid impeding project collaborators by taking up their machine's resources while they are working.
Configuring batch processing requires using command line tools frequently. It is highly recommended to add the path to Harmony's command line tools to your machine's PATH environment variable so that you do not have to type the full path to these command line tools in the terminal.
To add Harmony to your path, follow the steps in the following topics: