When you want to render an animation, check the nodes you would like to include in the render job, and check "Animation" below the "Render" button. During an animation render you will see a progress bar and render time pop-up on the GUI. The progress bar is updated by values based on the current frame out of the total frames. To properly render an animation over the network with Blender, you will also need to make sure that you have "Placeholders" checked in your Blender render output settings. See images below for where you can find this feature. The left image is the Kilelit addon for Blender, and the right is the default location in Blender. When your nodes are rendering the animation, each node will write a value based on the current frame the render is at individually, but the host will always update the progress by the latest value. With Blender's "Placeholders" feature enabled, each machine will consider the latest file in the output directory and move to the next frame. Depending on where the timeline is, out of the total frames on the animation render, this will be converted to a value which is then written in a txt file on the Ki node side, then this value is retreived by the node and sent in an encrypted message to the host. The Ki host then takes this value and updates the percentage bar accordingly.
- OR -
When the current frame has reached the end, but there are still nodes rendering frames, the render progress bar will display a status saying that the host is waiting on the final renders. This is based on the status of the nodes. If any nodes on the list shows "busy" it will wait for those nodes to finish rendering and display the "idle" status.
After all nodes are finished rendering, the animation render progress time and bar will become hidden until the next animation render. During animation rendering, you still have control over the node statuses on the Ki host. You may still cancel render on a specific machine, or cancel all renders. Remote screen view is also available at anytime so you can open a view on a specific node to see what is happening on the machine before render or after. This is great for troubleshooting on local setup to make sure a node has started the render or is rendering.
The remote view is also great to check on how the render is looking before committing to the final render, while keeping your main workstation free in computational power and continue doing edits.
Ki(Kilelit) Host Launch System will open when you run the application. The host launch system starts a server to listen to a launch confirmation. To gain access to the host launch page on the website, KB3D Services member/client must be subscribed under one of the two packages depending on use cases. For one person, an individual package is available. Under the teams package, for a team of 2 and more(studio/company), client/member can have one active subscription for the whole team and should only be used within the team environment. After gaining access through your subscription, click on the "KB3D Services" button to open the launch page. This system simply sends a "login successful" confirmation along with a secret code to the Ki host launch system when the user clicks the launch button on the page. Again, only subscribed members will have access to the launch page. This system is setup only to function locally and requires user to execute the necessary actions to start the application. Networks outside of the local network will not affect it.
After the confirmation has been received by the temporary Ki Host Launch server, the launch dialog will load the main GUI (graphical user interface) along with closing the server. When the main GUI is loaded the launch dialog will be hidden and user will have the Ki Network Rendering application visible and ready for use.
Kilelit Host
After subscribing to the Kilelit Network Rendering package, you will gain access to the download page for the respective files. There are two parts to this. One being the Kilelit Network Rendering addon, the other being the Kilelit Network Rendering application. Download the Kilelit Blender addon and proceed to install as you typically would in Blender preferences->addons. As for the Kilelit Network Rendering application, run the executable installer.
Ki Host Launch
Allow Read and Write On Kilelit Application Directory
The Ki host GUI is very simple and easy to get familiar with. Upon opening the application for the first time, you will need to setup your network settings first. In addition to that, before using the app, you will need to make sure your local network is setup where all your machines have access to the drive your Blender project is located and/or where the output file path is located where all your Ki Nodes will save the image(s). When your all set with your local network settings and all your computers have access to each other through your mapped drives, last thing you should make sure is that the "Kilelit_Network_Rendering" folder installed in your Blender Foundation directory allows read and write under the security settings in the folder's properties. This ensures that when you are rendering animations the server can receive the render progress output file written by Blender through out each frame rendered. This progress value is then communicated to your Ki host and the percentage bar will update accordingly.
Allow Ki Host and Node Applications On Windows
Typically when you run the app for the first time, Windows will ask if you want to allow. This would automatically add the application, both the Ki host and node to the allowed apps list. If you need to do it manually, simply open your control panel and go to "System and Security", "Allow an app through Windows Firewall", then click on the "Allow another app" button, which will open Windows file explorer and you'll direct Windows to the Ki host and node.
Kilelit Host Menu Bar
The File menu has the typical load, save, and exit. The load and save pertains to Kilelit files(format: kilel). Kilel files contain the Blender project files directory from your Ki Host scene.
The Network menu item contains the "Network Settings". Here you will need to specify your network ip, port you want the Ki host and Ki nodes to communicate through, and also a number for the "ThreadPoolExecutor". This is just the incremental value by how much your local network is scanned when looking for local computers running the "Kilelit Node.exe" application.
The Help menu item contains links to certain pages on KB3D Services platform for legal terms, additional information regarding the app and my services.
Network Settings iP and Port
Setting IP:
For your local computer ip, you can get this by running your cmd as administrator, and typing in the command: "ipconfig/all"
This will list your local network information including your ip address, which should be your ip4 address. This should also have (Preferred) next to it. Type this ip into the IP parameter. To make this step easier and quicker, you can also retrieve the local ip by checking the "Automatic IP Set" checkbox.
Choosing Port:
-
Well-Known Ports (0-1023): These ports are typically reserved for system-level or well-known services (e.g., HTTP on port 80, HTTPS on port 443). It's best to avoid using these ports for non-common applications to prevent conflicts with these standard services.
-
Registered Ports (1024-49151): These ports are not as tightly controlled as well-known ports but are still often used for known applications and services. While there's more flexibility in using these ports, it's a good idea to check if the port you're interested in is commonly associated with a specific service.
-
Dynamic or Private Ports (49152-65535): These ports are generally considered safe for private use and are less likely to conflict with standard services. They are often used for client-side connections, temporary purposes, and specific applications that don't require a well-known port.
Using the dynamic or private ports is highly recommended when choosing a port value. The Ki Host and Node are developed to work strictly on your local network. Before commands are sent between the host and server(s), the information is encrypted using cryptography then sent. Upon receiving encrypted commands on both the host and server(s) side, the command is decrypted and read. The commands sent between the host and server does include sensitive information such as machine name/ip. Along with task purposed commands such as executing Blender, terminating Blender, and reading render updates for animations.
Kilelit Node
Now lets take a look at the Kilelit Node side. After gaining access to the Kilelit Network Rendering download files, you will have access to the node file. Included with the Kilelit Node downloaded file, is an installer. This executable only includes the Ki Node, but it will create the "Kilelit_Network_Rendering" folder that is also created by the full installer in your Blender Foundation folder. If the user decides to install the full package, which includes the host and node, this will install in the same directory.
After successfully installing the Ki node in your chosen render machine, run the application. You will see a window with a console. The first thing we want to setup is the network settings. This will include the ip of your machine, and the port the Ki node will be listening/communicating on with the Ki host. the port value must be the same on the Ki host and node.
Kilelit Host GUI Overview
-
Menu bar
-
Blender files list
-
Kilelit Nodes list
-
List nodes by machine ip
-
List nodes by machine name
-
Refresh nodes list/add Kilelit Nodes
-
Enable/Disable node & node ip/server name
-
Remote screen view & node status
-
Render cancel on node
-
Node active/inactive
-
Node render status
-
Blender files directory find
-
Blender file(selected) open(local)
-
Render execute
-
Cancel all renders on all nodes
-
Render animation
-
Render progress bar(only visible during animation render)
-
Kilelit Host console
Lets go over the Ki host GUI on this section. Take a minute to look at the labels to get familiar.
Connecting Nodes To Host
Now that we have some familiarity with the Ki host GUI, and the network settings along with our drives setup, the first thing we want to do on the Ki host app, is connect our Ki nodes running on the render machines to the host. To do this, we want to click on the add Kilelit nodes button(see item 6 on GUI overview). When successful, you will see your machines running the "Kilelit Node.exe" listed in the nodes list. Sometimes you will see nodes listed as the first 3 digits of their ip. When this happens, try lowering the increments by how much the network is scanned and/or click on the refresh button. Likewise, if you decide to add new nodes, later on, click on the refresh button.
Get Blender directory
Now we want to find the directory our blender projects are located. To do this we want to click on the Blender button on the bottom left of the "Blender Files:" list(see item 2 on GUI overview). Clicking on this button will open up Windows file explorer and here you can direct the Ki host app where the blender files are located. After locating the blender files directory you will get all the files listed in the box. Here you will select the Blender file you would like to start a render job on the Ki nodes. If no Blender files are found in the directory provided you will get a print stating no .blend files found.
Sending Render Job Over Network
Now we're all setup to send our first render job!
Here you can see I've sent a render job to my first node and the monitor icon is showing yellow for "Render" status and the status of the node is "busy". Below my first node, you can see that the second node is unchecked, therefore did not receive the render job I sent over the local network. Here you can see the status of the monitor icon showing red and node status showing "off". Now of course, we can still send a render job to the second node. All we'll need to do is uncheck the busy nodes/unwanted nodes, and check the idle unchecked node, then click on the render button.
Included in this screenshot, you can see we have a preview screen of the node/server that is rendering. To open a preview, simply click on the monitor icon depending on which node you would like to preview. Only one node can be previewed at a time. This dialog is preview only, so remote control with the node will have to be done by other means. Such as Windows Remote Desktop Connection, Chrome Remote Desktop or other preferred methods.
Cancelling Render(s)
During renders the Ki host continues to listen to any updates from the nodes. When a node is finished rendering an image, Blender will be terminated on the following machine, and an encrypted message will be sent to the host that it is done rendering. Here you can see a screenshot of the host side, with a pop-up window notifying us that the image rendering is finished on the following node.
Likewise, when you want to cancel a render on a specific node, such as example_01, click on the red stop icon with the letter "R" in the center, located on the same row as the node you would like to cancel the render on(see item 9 on the GUI overview).
If you would like to cancel renders on all checked nodes, click on the "Cancel All Renders" button below the "Render" button. After cancelling renders, you will get pop-up notification(s) of the nodes affected.
Animation Rendering
Documentation and Tutorials
Under the Help item in the menu bar, you can find links to this Documentation and links to tutorials I've posted on Youtube on how to utilize the Kilelit Network Rendering addon and application. Happy Blender rendering!