Thursday, 7 May 2015

Constellation Render 4.5

It has been 2 years passed since the first release of Constellation Render. There have been lots of changes has been made as CR itself now is in its 4th version (version 4.5). There are lots of new changes and new feature include server-less system, more informative controller, hailing system, checkpoint system, more supported renderer, and many more.

Server-less System 
This is the most significant changes from the first version. Throughout the development, I realized that the system can be made without a dedicated server thus freeing one PC to be used as render client. This means each render client will be communicate to one another as a team to finish and manage the render job.

Server Base System
Server-less System









This system however still need some kind of data storing method to store the job queue. I decided to use MySQL database as it is de facto standard for database, easy to use, and able to handle multiple transaction at the same time. Previously we used .txt and SQlite database to handle the job queue but both have their own shortcoming when dealing with rapid application like CR.

Informative Controller
New Controller Interface
The new controller give you more control to manage your job and client. Everything is color coded and some other new features has been added as follow.
  1. Client control including Wake On Lan, Shut Down, and Restart to help you manage the client in the database.
  2. Clear stalled job to clear any job that stuck in client database.
  3. Reset job to re-render previously submitted job.
  4. Generate batch script to render each job manually.
  5. Job Block Progress to see the render progress on which block rendered by which computer.
  6. Average render time to see your per frame rendering time
  7. More job status including error report to warn you failed job.
The controller also able to run hailing system on which the detail will be discussed next.

Priority System
The only thing that missing from the first version is the priority set for the job. This enable you to set the priority on each job so the render client will render higher priority job first. If there are identical priority, the system will render the one submitted first (hence the name queue).

Hailing System
In addition to the all new system, I've implemented a way for each client to communicate each other called hailing system.

In every client they will open a port to receive a command. This allow each client to check each other whether they are stalled, error, or crashed. If the crashed client is rendering, the other client will pick up the job, mark the crashed client offline and run the crashed render job. This system was designed as a safety net as to not miss any job whenever a client crashed.

Each client will do the hailing before they render or you can run it in controller using UPDATE-HAIL button on the top right of the window.

Checkpoint System
New CR Renderer

Working alongside hailing system is the checkpoint. This system able to check previously rendered frame and to pick up from the last rendered frame saving time by not re-rendering the rendered frames. However, should the entire frame has been rendered, the system will re-render everything just in case.This checkpoint system is very use-full whenever a client crashed mid-render (due to power outage or crash).

More Renderer Supported
Current CR support more maya native renderer and additional v-ray renderer. I have written the code to be modular and each renderer have their own script called render handler. If needed, we can write our own render handler to handle new renderer as long as the software support batch render.

Conclusion
CR has come a long way since its inception. I really hope that CR will grow more into a major render manager software. I'm planning to work on its online frameworks so CR can be deployed as satelite render farm.

Currently CR serve as main render manager on one amazing ambitious studio (happy to work with you guys).  I will try to develop more feature into CR and if you are interested on CR or have any question, just let me know.

Cheers,

Willis


No comments:

Post a Comment