New Features In Deadline 4.0.39717 (Released January 27, 2010)

New Features In Deadline 4.0.39717 (Released January 27, 2010)

 

Overview

Deadline 4.0 features improved scalability and stability, an improved Mac OSX experience, and new software support for ffmpeg, Fusion 6, Generation, Maxwell 2, Maxwell For Maya, Maya 2010, MetaFuze, Modo 401, Nuke 6, POV-Ray, Softimage 2010, Toxik 2010, and Vue 8. Deadline 4.0 also includes customizable themes for the user interface and will be compatible with Prime Focus Software’s upcoming Deadline iPhone application, which will be available soon after the release of Deadline 4.0. Note that a new 4.0 license is required to run this version.

New Features

Pulse / Monitor Communication

If Pulse is running, the Monitor will get new data during a refresh directly from Pulse, as opposed to accessing the Repository directly. This vastly improves the Monitor's performance when there are lots of jobs in the queue.

Slave Throttling

If you're constantly submitting large scene files, this new feature can help reduce the load on your network by restricting the number of Slaves that can copy over jobs simultaneously. Note though that this only pertains to jobs that a Slave is rendering for the first time. Once the job files have been synchronized to the Slave's local folder, the Slave will no longer be affected by this restriction until it starts rendering a new job.

The settings for this feature can be found under the Pulse Settings in the Repository Options. Note that it's disabled by default.

Reduced Network Load When Synchronizing Job Folders

The Slave now only performs MD5 checksums on the job and plugin info files, as opposed to all the files submitted with the job. This greatly reduces the network load when large scene files have been submitted with the job. After making this change internally, this is what our lead System Administrator had to say:

One thing to note from today's Deadline patch is that the Deadline server has become far more responsive on the system level and 
under big load I'm seeing far better burst transfer rates. As well instead of load being constant is follows a more dynamic curve
(this is a good thing relative to system load and implies more load can be maintained). As an example of the bursts, until the patch
we were doing 23-28MB/s CONSTANTLY, now I'm seeing 5-10 second bursts at 100MB/s (that's the extreme case).

Dynamic Concurrent Tasks

In previous versions of Deadline, concurrent tasks were handled in chunks. For example, if a slave dequeues 4 tasks for a job, it wouldn't dequeue the next group of tasks until the 4th task completes. This resulted in the other 3 threads sitting idle. Now, as soon as a thread finishes its task, it will dequeue a new one. In addition, the Slave now has individual tabs for each render thread, and separates the logs for each task.

Multi-threaded Remote Command Execution

Remote Control commands from the Slave list in the Monitor are now executed in a separate thread, and their status is displayed in a separate window. This allows you to queue up multiple commands to multiple machines and watch them as they complete. In addition, the results of executing the remote command are displayed.

Improved Max OSX Experience

For Mac users, we have now added an option to the Mac Client Installer to use Mono's X11 driver when running the Deadline applications. We have enabled this option by default, because we have found the Deadline applications to be much more stable and responsive when running with this driver instead of the default Carbon driver. We encourage our Mac users to use the X11 driver until the Mono team works out the issues with the Carbon driver.

New User Interface and Theme Options

Now that Deadline is a multi-platform application, we decided to move away from the standard Windows look. In addition, we've added the ability to customize the look and create new Themes for the Deadline software. The theme interface can be found in the Monitor by selecting Tools -> Options, and then by selecting the Themes option from the list on the left.

Fixed The "Failed to assign process to job object: Access Denied" Bug

We have finally fixed the "Failed to assign process to job object: Access Denied" error that was known to occur on Windows Vista and Windows 7. The problem was actually related to Windows' PCA (Program Compatibility Assistant) service, instead of being a permissions issue like we had originally thought.

General Improvements and Bug Fixes

  • You can now create a PreLoad.py in any plugin folder, and that script will be executed before the job is started. This is useful if you want to perform synchronization or cleanup tasks prior to starting the job.
  • Fixed "Port In Use" bug on OSX. Now, you should only get this error when starting the Deadline applications on a Mac if the port is actually in use.
  • SMTP mail notifications now supports SSL. This is useful if you want to send your notifications through Google Mail or other similar accounts.
  • Job reports folders are now occasionally purged.
  • On OSX, fixed a bug where applications would crash if the IP address can't be resolved through DNS.
  • Upgraded to support IronPython 2.0.
  • Updated splashscreens and installer backgrounds.
  • About dialog cleaned up and improved.
  • Icon added to Slave and Monitor to indicate connection status to Pulse.
  • Fixed issue with repository backups failing during installation.
  • Auto deletion of corrupted jobs is now disabled by default.
  • Fixed issue with Folders and Files with leading periods.
  • Fixed issue with username case sensitivity.
  • When launching applications from the Launcher, the application is now brought to the front if it is already running.
  • EnsureTrailingPathSeparator added to python script API.
  • User permissions have been added for submission scripts.
  • Notification emails now have similar formats. (i.e. They begin with "Deadline:" and the subject format is a lot more consistent)
  • A progress bar control element has been added to the script dialog API.
  • File/Folder browsers have been exposed to scripting API.
  • Fixed issue with SMTP authentication.
  • Exposed operating system checking to scripting API.
  • Fixed bug where ExitWithSuccess was failing the job when called within the CheckExitCode function.
  • Saved user name and passwords (e.g. for mapped drives) are now encrypted.
  • The "View Remote Command Status" dialog is now popped up automatically when using the SendRemoteCommand function. The SendRemoteCommandNoWait function does not display the popup.
  • Added Growl support for Windows and Mac.
  • Fixed issue with *.started.override and *.completed.override files not being cleaned up in the job folder.
  • Fixed screensaver for Snow Leopard.
  • Added "-nosplash" command line option to all apps to not show splash screen.
  • Fixed issue caused by Slave names containing underscores where Failure Detection would sometimes not detect that a job should fail.
  • Fixed splash screens issues on Linux/OSX & Mono 2.4.3.
  • Fixed some permission issues with deadline.ini on OSX.
  • User names now allow for some non-alphanumeric characters, like periods.
  • Duplicate section or key entries in the deadline.ini file no longer causes the Deadline applications to crash.
  • All entries in the job's XML file are now have consistent naming with regards to their actual properties in code.
  • The License Server window now supports multiple license servers, separated by semicolons.

Monitor Improvements and Bug Fixes

  • Improved filters. We've done away with the drop-down menus, and replaced them with buttons that popup a little window to set you filters. Now you can select/deselect multiple items at once without having to reopen the filter menu after each click.
  • The property categories under the plug-in name tab in the Job Properties window (ie: 3dsmax, MayaBatch, etc) are now collapsible, and Deadline remembers which categories have been collapsed between sessions.
  • On Linux and OSX, the lists in the Monitor now load much faster. For example, a 2000 task job task about a second to load instead of 10 seconds.
  • All three slave lists in the Limit Group dialog are now sorted by slave name.
  • Fixed bug where Monitor Options were being saved even when Cancel was being pressed.
  • Monitor grid lines default to false.
  • Fixed bug where resubmitting tile job tasks as a new job causes tiles to render as full frames.
  • Fixed OSX bug where XmlExceptions would crash the Monitor.
  • User permissions for Remote Commands is now configurable.
  • Message added for plugins with no params in Plugin Configuration.
  • Listviews now use alternating row colors, and user owned jobs are indicated using an icon in the user column.
  • Job specific property categories are now collapsible.
  • Fixed startup issues on OSX.
  • More IronPython assemblies now loaded during startup so that the initial submission script launch time is quicker.
  • Offset Priority script added to job scripts.
  • Fixed issue on Vista where error messages in the reports dialog filled up multiple lines in the list view.
  • All script menus (including the submission script menu) can now be customized to display only certain items. The setting is repository wide and can be configured through the repository options dialog.
  • Added more keyboard shortcuts.
  • Various ETA and statistic improvements for jobs.
  • Added "-multi" command line option to support running multiple Monitors on a single machine.
  • "Machine List is a Blacklist" option now defaulted to false.
  • Order of Suspended and Completed jobs have been switched for sorting.
  • Support for Select All, Copy, and Find shortcuts added to the Error, Log, and Requeue dialogs.
  • Start/Stop NT services script from v2 has been recreated as a Python script.
  • Added options to expand all, collapse all, or invert the collapsed plugin specific job categories.
  • Fixed "ARD is only available on OSX" error on OSX.
  • Added right-click option to add a job to the job monitor.
  • Multi-browser controls in plugin configuration are now multi-lined text boxes.
  • Added support for quoted search strings (to allow for spaces in searches).
  • If task rendering time retrieved is longer than 5 years, the data is assumed to be inaccurate and a rendering time of zero is shown.
  • Fixed issue where "Scan For Missing Output" was not working properly when there were multiple outputs.
  • Fixed issue where Cleanup Jobs option wasn't loading all jobs properly.
  • Marked stalled pulses as offline option added.
  • PropertyGrids have been replaced by AutoScriptControls, the same control used to display submission scripts.
  • Fixed Auto Refresh issues.
  • Slave Comment and Description columns are now shown by default.
  • Fixed bug on Linux/Mac, where using the job/slave search box when there were hidden columns would cause a crash.
  • Fixed "OverflowException -- TimeSpan overflowed because the duration is too long." error.
  • Repository Disk Space Limit Email improvements in Repository Options.
  • If SNMP response type can't be converted to the type requested, a better error message is displayed.
  • Estimated remaining render time now takes into account the number of slaves currently working on the job.

Slave Improvements and Bug Fixes

  • Multiple Slave scheduling groups now execute correctly.
  • Fixed bug where normal tasks were being dequeued while the pre-job task was still rendering.
  • The slave will now check for specific repository subfolders for existence to determine if the network has gone down or if a task was just deleted/requeued.
  • Fixed issue where the auto timeout didn't take into consideration the number of frames per task.
  • Improved stalled slave reports.
  • The slave now notifies the "Slave Update Error Email Account" when it can't update its slave status file.
  • The slave can now handle large amounts of stdout better.
  • Addressed Slave performance issues with high verbosity (mainly on OSX).
  • Fixed "can't assign job object" error on Vista and Win 7.
  • Fixed issue where the Slave was showing the wrong IP, MAC address, and memory usage on OSX.
  • Disabled error message is now a timed message box.
  • Fixed "InvalidOperationException: Cross-thread operation not valid: Control 'm_pluginStatusBox' accessed from a thread other than the thread it was created on." error.
  • Timeout interval when license server goes down increased from 10 to 20 minutes.
  • Pre/post job scripts now have access to plugin functions like GetStartFrame and GetEndFrame.

Launcher Improvements and Bug Fixes

  • Launcher now displays the same submit and script menus as the monitor, allowing job submission and other scripts to be run without running the monitor.
  • Fixed issue with launcher logs not getting purged after 30 days.
  • Fixed "SocketException -- An existing connection was forcibly closed by the remote host" error.
  • Checking for upgrades before launching an application is now much quicker.

Pulse Improvements and Bug Fixes

  • Fixed bug where Pulse was no longer accepting slave connections when running on a non-repository machine after a network connection was lost and restored.
  • Pulse is now being notified when a new Job is submitted.
  • Improvements made to the thread pool. Monitor job and slave update threads are given higher priority than other threads.
  • Multiple attempts are now made when contacting Pulse. This affects Monitor refreshes and Slave job requests. The number of maximum attempts can be set under the Repository Options from the Monitor.
  • "Repository Disk Space Limit" repository setting was not converting a MB value specified to bytes properly.

Deadline Command Improvements and Bug Fixes

  • Fixed bug where AddGroup and DeleteGroup was modifying the pools, not groups.

Job Monitor Improvements and Bug Fixes

  • Fixed a progress bar alignment bug.

New Plugin Support / Improvements

  • 3dsmax
    • Options to change the region left, top, right, and bottom values after submission.
    • Added region rendering option to use the current 3ds Max region values.
    • Region rendering now allows for much larger (99,999 pixels) tile sizes.
    • "SetVRaySilentMode" call added to customize.ms for vray jobs.
    • VrayVFB option disabled for render elements during submission. After submission is complete, the settings are restored. This should address an issue where black frames were being rendered.
    • Updated 3dsmax.py to only set the BP setting for Max 2009 and earlier. In Max 2010, customize.ms takes care of this using "IBitmapPager=true/false".
    • Popup handler added for "Error Loading" dialog.
    • Fixed 3dsMax Batch Render [Master] Submitter error.
    • Fixed external file problem for Max 2010.
    • Fixed locked viewport problems when viewport's camera is not a standard max camera.
    • Fixed non-English OS issues when user profiles are enabled.
    • Fixed SMTD Tile rendering assembler error when Frame = -10.
    • Added customizable "Comment field" to SMTD.
    • The 'none' pool or group in the SMTD is now selected by default, instead of an empty one.
    • Fixed SMTD issue where the job dependency list would contains lines with just ':' in them.
    • Fixed issue where a Tile Assembly Job was losing the alpha channel.
    • Improved speed when launching the submission script.
    • Added a sanity check to SMTD to warn if the viewport is locked.
  • After Effects
    • The "Continue On Missing Footage" option, introduced in CS4, has been added.
    • Stdout handler added to catch "aerender ERROR" errors.
    • Option to render first and last frame first added to submission.
    • AE submission script now disables unsupported options based on the version that is selected.
    • "%20" removed from project name when setting default job name in the integrated submitter.
    • Fixed minimum output size bug when using a padding size other than [#####].
    • Layer submission dialog's folder browser now defaults to the path already specified.
  • Cinema4D
    • Added catch for "Error rendering document" error.
  • Combustion
    • Fixed output filename padding issues.
    • Output operators with more than one "/" are now flagged and users are notified that they must be changed.
    • The user is notified during submission if the selected output operator's path is local or doesn't exist.
  • Command Script
    • Now supports concurrent tasks.
  • FFmpeg
    • Added support for FFmpeg.
  • Fusion
    • Added support for Fusion 6.
    • Licensing errors are now detected when rendering with RenderSlave.exe.
    • More information is logged when rendering with RenderSlave.exe.
  • Generation
    • Added support for Generation.
  • Lightwave
    • Added a delay between command files being sent to LWSN.
    • Fixed issue where, when using screamer net mode, a Slave would only fail on a missing object once, then report success but wouldn't actually render properly.
    • Addressed rendering issues on OSX.
  • Maxwell
    • Added support for Maxwell 2.
  • Maya
    • Added support for Maya 2010.
    • Fixed bug where path separators in the output image prefix weren't being swapped out.
    • Mental Ray verbosity controlled added to the submission script.
    • Fixed issues with the integrated submission script on a Spanish OS.
    • Per-job strict error checking added.
    • Added support for Maxwell.
    • Fixed issue with Mental Ray progress not working properly.
    • Improved stereo camera progress reporting when rendering with Mental Ray.
    • Added catch for V-Ray licensing error "V-Ray error: Could not obtain a license (1002)."
    • On non-windows OS, no longer replacing '/' in paths with '//'.
    • The build setting in the submission script now defaults to None on OSX.
  • Metafuze
    • Added support for Metafuze.
  • Modo
    • Fixed issues with submission from within Modo.
    • Added support for Modo 401.
    • Fixed bug where specifying an exr to override output would cause output to be saved as tga.
  • Nuke
    • Nuke script file now kept in memory between tasks for Nuke version 5 and later.
    • Concurrent Tasks setting exposed to integrated submission script.
    • Fixed rendering issues on OSX.
    • Fixed OFX plugin issues.
    • Fixed Ocula plugin issues.
    • Plugin config option added to specify a list of machines that should use the interactive license instead of the render license.
    • Fixed issue wehre the path to scene file wasn't being mapped.
    • Fixed "Write fault on path [Unknown] (System.IO.IOException)" issue.
    • Addressed long submission time issues.
    • Added a slave selection control to pick machines that will use an interactive license.
    • Added support for Nuke 6.
    • Renders no longer fail when there are multiple write nodes and at least one is disabled.
  • POV-Ray
    • Added support for POV-Ray.
  • Quicktime
    • Fixed "Error: Unknown Error (COM)" bug when adding audio.
    • Submission no longer allowed without setting a codec.
    • Users can now select and save xml file presets when submitting.
  • Softimage
    • Added support for Softimage 2010.
    • Timeout error message for when Deadline can't connect to XSIBatch.exe has been improved.
    • Increased default timeout setting for XSIBatch.
    • Fixed issue where when an error was occurring in the RenderPasses script function, Deadline was failing the job before the true error message was extracted.
    • The workgroup is now being set before the scene is loaded.
  • Toxik
    • Added support for Toxik 2010.
    • Fixed issues with submission from within Toxik.
  • VRay Standalone
    • Rendering separate vrscene files per frame is now supported.
  • Vue
    • Added support for Vue 8.