Deadline Documentation
RSS< Twitter< etc

Fusion Plug-in Guide


Job Submission

You can submit jobs from within Fusion by installing the integrated submission script, or you can submit them from the Monitor. The instructions for installing the integrated submission script can be found further down this page.

To submit from within Fusion, select Script -> SubmitToDeadline or SubmitToDeadlineIUP (if you have the IUP script installed).

Submission Options

The general Deadline options are explained in the Job Submission documentation, and the Draft/Shotgun options are explained in the Draft and Shotgun documentation. The Fusion options are:

  • Render First And Last Frames First: The first and last frame of the flow/comp will be rendered first, followed by the remaining frames in the sequence. Note that the Frame List above is ignored if this box is checked (the frame list is pulled from the flow/comp itself).
  • Build: Force 32 or 64 bit rendering.
  • Proxy: The proxy level to use.
  • High Quality Mode: Whether or not to render with high quality.
  • Check Saver Output: If checked, Deadline will check all savers to ensure they have saved their image file.
  • Command Line Mode: Render using separate command line calls instead of keeping the scene loaded in memory between tasks. Using this feature disables the High Quality, Proxy, and Check Saver Output options. This uses the FusionCmd plug-in, instead of the Fusion one.

Plug-in Configuration

You can configure the Fusion and FusionCmd plug-in settings from the Deadline Monitor. While in super user mode, select Tools -> Configure Plugins and select the Fusion plug-in from the list on the left. To get a description of each setting, simply hover the mouse cursor over a setting and a tool tip will be displayed.

Integrated Submission Script Setup

The following procedure describes how to install the integrated Fusion submission script. This script allows for submitting Fusion render jobs to Deadline directly from within the Fusion editing GUI.

Fusion 5 or Later

To install the new IUP submitter:

  • Copy [Repository]/ClientSetup/Fusion/SubmitToDeadlineIUP.eyeonscript to [Fusion Install Directory]/Scripts/Comp
  • Restart Fusion to find the SubmitToDeadlineIUP option in the Script menu.

To install the original submitter:

  • Copy [Repository]/ClientSetup/Fusion/SubmitToDeadline.eyeonscript to [Fusion Install Directory]/Scripts/Comp
  • Restart Fusion to find the SubmitToDeadline option in the Script menu.

Digital Fusion 4

  • Copy [Repository]/ClientSetup/Fusion/SubmitToDeadline.dfscript to [DF4 Install Directory]/Scripts/Flow
  • Restart Digital Fusion to find the SubmitToDeadline option in the Script menu.

Custom Sanity Check Setup

In the [Repository]/submission/Fusion5 folder, you can create a file called CustomSanityChecks.eyeonscript. This script will be called by the main Fusion submission script before submission, and can be used to perform sanity checks. Within this script file, you must define this function, which is called by the main script:

function CustomDeadlineSanityChecks(comp)
    local message = ""

    ...

    return message
end

All your checks should be placed within this function. This function should return a message that contains the sanity check warnings. If an empty message is returned, then it is assumed the sanity check was a success and no warning is displayed to the user. Here is a simple example that checks if any CineFusion tools are being used in the comp file:

function CustomDeadlineSanityChecks(comp)
    local message = ""

    -----------------------------------------------------
    -- RULE: Check to make sure Cinefusion is disabled
    -----------------------------------------------------
    cinefusionAttrs = fusion:GetRegAttrs("CineFusion")
    if not (cinefusionAttrs == nil) then
        cinefusion_regID = cinefusionAttrs.REGS_ID
        local i = nil
        for i, v in comp:GetToolList() do
            if (v:GetID() == cinefusion_regID) and (v:GetAttrs().TOOLB_PassThrough == false) then
                message = message .. "CineFusion '" .. v:GetAttrs().TOOLS_Name .. "' should be disabled\n"
            end
        end
    end
    
    return message
end

Note that this documentation is for Fusion 5 and later. If you want to set this up for Digital Fusion, just use the Fusion4 submission folder instead of the Fusion5 one, and call your script CustomSanityChecks.dfscript.

FAQ

Which versions of Fusion are supported by Deadline?
Fusion 4 and later are supported.
What's the difference between the Fusion and FusionCmd plugins?
The Fusion plugin starts the Fusion Render Node in server mode and uses eyeonscript to communicate with the Fusion renderer. Fusion and the comp remain loaded in memory between tasks to reduce overhead. This is usually the preferred way of rendering with Fusion.
The FusionCmd plugin renders with Fusion by executing command lines, and can be used by selecting the Command Line mode option in the Fusion submitter. Because Fusion needs to be launched for each task, there is some additional overhead when using this plugin. In addition, the Proxy, High Quality, and Saver Output Checking features are not supported in this mode. However, this mode tends to print out better debugging information when there are problems (especially when the Fusion complains that it can't load the comp), so we recommend using it to help figure out problems that may be occurring when using the Fusion plugin.
Can I use both workstation and render node licenses to render jobs in Deadline?
You can use workstation licenses to render, you just need to do a little tweaking to get this to work nicely. In the Plugin Configuration settings, you need to specify two paths for the render executable option. The first path will be the render node path, and the second will be the actual Fusion executable path. You then have to make sure that the render node is not installed on your workstations. Because you have specified two paths, Deadline will only use the second path if the first one doesn't exist, which is why the render nodes can't be installed on your workstations.
Why is it not possible to have to 2 instances of Fusion running?
With Fusion there is only one tcp/ip port to which dfscript/eyeonscript (the scripting language used to run Fusion renders on a slave computer) can connect. If Fusion is open on a slave computer then the port will be in use and the Fusion Render Node will have to wait for the port to become available before rendering of Fusion jobs on that slave can begin.
Why do I get lots of Fusion Render Node icons showing up which go away when I move the mouse over them?
These are ghosts of the Fusion Render Node processes which Deadline was not able to shut down properly. There are two ways that Deadline can use to shut down the Fusion Render Node, either by running a DFScript which tells the Fusion Render Node to exit, or by sending a Windows message to the application telling it to close. Deadline attempts to do the second option, and generally succeeds at it, but occasionally there are some kinds of flows/comps which tend to prevent the Fusion Render Node from shutting down properly. In these cases, Deadline proceeds to terminate the Fusion Render Node process, and because of that the icon doesn't get cleaned up properly.
Fusion alone renders fine, but with Deadline, the slaves are failing on the last frame.
This is usally accompanied by this error message:
INFO: Checking file \\path\to\filename####.ext
INFO: Saver "SaverName" did not produce output file.
INFO: Expected file "\\path\to\filename####.ext" to exist.
The issue likely has to do with the processing of fields as opposed to full frames. When processing your output as fields, the frames are rendered in two “halves” (for example, frame 1 would be rendered as 1.0 and 1.5). This error often occurs when the Global Timeline is not set to include the second half of the final frame. Simply adding a “.5” to the Global End Time should resolve this issue.
For example, let us assume that you are processing fields and your output range is 0 - 100. If the Global Timeline is set to be 0.0 - 100.0, Fusion will render everything, but Deadline will fail on the last frame. If the Global Timeline is set to be 0.0 - 100.5, Deadline will render everything just fine.
Is there a way to increase Deadline's efficiency when rendering Fusion frames that only take a few seconds to complete?
Rendering these frames in groups (groups of 5 for example) tends to reduce the job's overall rendering time. The group size can be set in the Fusion submission dialog using the Task Group Size option.
Does Fusion cache data between frames on the network, in the same way it does when rendering sequences locally?
Deadline renders each block of frames using the dfscript flow.render function. The Fusion Render Node is kept running between each block rendered, so when Fusion caches static results, it can be used by the next block of frames to be rendered on the same machine.
Fusion seems to be taking a long time to start up when rendering. What can I do to fix this?
If you are running Fusion off a remote share, this can occur when there is a large number of files in the Autosave folder. If this is the case, deleting the files in the Autosave folder should fix the problem.
Can I use relative paths in my Fusion comp when rendering with Deadline?
If your comp is on a network location, and everything is relative to that network path, you can use relative paths if you choose the option to not submit the comp file with the job. In this case, the slaves will load the comp directly over the network, and there shouldn't be any problems with the relative paths. Just make sure that your render nodes resolve the paths the same way your workstation does.

Error Messages And Meanings

This is a collection of known Fusion error messages and their meanings, as well as possible solutions. We want to keep this list as up to date as possible, so if you run into an error message that isn't listed here, please email Deadline Support and let us know.

Exception during render: Failed to load the flow "[flowname].flw" in startjob.eyeonscript"?
This error usually occurs because the render node is missing a plug-in that is referenced by the flow in question. Often this is because there is a plug-in installed on the machine from which the job was submitted that is not in the Fusion Render Node plug-in directory on the slave machine. It is important to remember that the Fusion Render Node has a different plug-in store than Fusion -- even on the same machine -- thus one should ensure that the needed plug-ins are copied/installed in both locations.
Exception during render: The fusion renderer reported that the render failed. Scroll down to the bottom of the log below for more details.
This can occur for a number of reasons, but often Fusion will print out the cause for the error. In the error log window, scroll to the end of the Deadline Slave Log capture which is near the bottom of the error message window, and there will be a part which looks something like the following message. This particular message indicates that a font was missing on the machine.
INFO: Render started at Wed 8:17PM (Range: 198 to 198)
INFO:
INFO: Comments: Could not find font "SwitzerlandCondensed"
INFO:
INFO: Saver 1 failed at time 198
INFO:
INFO: Render failed at Wed 8:18PM! Last frame rendered: (none)!
INFO:
INFO: Render failed
We've usually found that the problem behind this error was a plug-in that was installed for Fusion, but not for the Fusion Render Node. Try updating your Fusion Render Node plug-ins to match your Fusion plug-ins exactly, and check whether the error still occurs.
Exception during render: DFScript failed to make a connection in startjob.dfscript - check that DFScript is set to no login required?
In order to connect to the Fusion Render Node and communicate with it, Deadline uses the dfscript/eyeonscript, the scripting language provided for Fusion. The script connects to the Fusion Render Node via a socket connection, which by default requires a login username and password to connect.
In order for Deadline to be able to render using a given Fusion Render Node, you must change its settings so that it no longer requires the username and password. This is done by running the Fusion Render Node, right clicking on the icon it creates, and choosing preferences. From there, pick the Script option, and you will see radio buttons, one of which says 'No login required'. Make sure that that is the option selected, then click Save to save the preferences, and exit Fusion Render Node.