Discussion Forums

The Latest...
Smedge has moved on. Now you can get the ease of use of Smedge 2 with the power of Smedge 3 in the new Smedge. Check out the Smedge Downloads page to download the updated Smedge for Windows, Mac, or Linux and get started right away.


Überware <info@uberware.net>
©2000-2009 Überware. All rights reserved.

See Robin's homepage.

Smedge2

HOME PURCHASE DOWNLOAD MANUAL FAQ ISSUES

NUMBER 37.3
16 September, 2004


The Smedge Job


Submitting a Job

Select Queue|New Job to bring up the Submit Job dialog box. By default, the dialog box will be filled in with the last job that you submitted.

The information at the top and bottom of the dialog box is used by Smedge to control the dispatching of the job. The stuff in the middle, surrounded by the "Scene Properties" box is specific to each renderer, and contains the information needed by the renderer to do the job.

ProductA list of renderers that Smedge supports. By using a renderer from this list, you don't have to worry about formatting a correct command line for distribution. You also gain access to customized features for each renderer. However, by choosing Generic Script you have complete control to format a command line for any program in the world.

For a complete list of the internally supported products, usage of the Submit Job dialog box specific to each product and possible options for those products, see the Products Available to Render section.

Job NameA name that you supply to identify a job in the Smedge interface. What you type here has no implications on the actual render or any filenames. You can use any characters you want in this name. The default action is to design a name based on the project and scene filenames, but the format varies by product.

PriorityTells Smedge what priority to assign to this job. Priorities range from 0 (lowest) to 100 (highest). A job with priority set to zero is essentially paused. No packets from that job will be sent out until the priority is increased. Higher priority jobs are executed before lower priority jobs.

PoolTells Smedge which pool to assign to this job. Clients that are members of this pool will have priority rendering this job. You can force clients that are not members of this pool to never work on this job. See The Smedge Client for more information.

Wait for JobYou can make this job dependent on the completion of another Smedge job. Select a job from this list. No packets from this job will be started until every packet from the selected job has been completed.

Maximum ClientsYou can limit the number of machines that will be allowed to work on this job. Set this to -1 to disable this restriction.

Stop after...Smedge tracks how long every packet takes to render. If a packet takes longer than this given percentage of time than the average packet time, Smedge will Stop and Requeue the packet, on the assumption that it has probably failed somehow. Use caution setting this number too low, as normal variation in packet time may be incorrectly interpreted as a failure.

If you set this value to zero, this check will be disabled for the job.

NoteYou can attach a note to every job. This note will display in the Jobs pain of the main window.

You can submit the job by pressing the OK button. You can also choose to select only certain packets from the job by pressing the Only Packets button. This will bring up the Select packets dialog. You can select which packets from this job to submit. Each packet will be submitted as its own job, one packet long.


Extra Parameters

Most job types have a space where you can type in extra parameters to send directly to the renderer via its command line. For some renderers, Smedge provides a Common Options dialog box that has a few of the more common paremeters that people override on the command line.

You do not have to use this dialog (if it exists) to supply command line options. You can simply type any command line parameters into the field on the Submit Job window as you would in a command line.

An even more powerful option is to provide a parameters file. If you put the full pathname to such a file into the field, then Smedge will parse that file at the time of job sumission. The file can contain line breaks and comments to make life easy for you. Line breaks are turned into whitespace, and any line that starts with the # character will be ignored. Empty lines are also perfectly acceptable.

The file will be read when you press the OK button. This means that you do not have to have this file accessible by every node on the network. It only has to be readable from your computer when you submit the job. Smedge will parse the parameters, and the job will be saved as if you had typed the parameters into the field by hand.

Loading/Saving a job and Repeats

You can fill in the fields of this dialog in many ways. Obviously, you can type things in by hand. You can also use the buttons to the right of the edit fields to bring up dialog boxes that help you fill in fields. For example, for the scene field, it brings up a file dialog box. On the far right of the dialog, you will also see a couple buttons that you may find helpful.

Repeat brings up a dialog that show you the last 20 renders that you submitted. You can then double click on one of those renders and all of its settings will be filled in. If you submit an identical render, it won't make another copy in this list. However, if you change any parameter of the render, Smedge considers it a new render and adds it to this list.

Load allows you to select a .smr file. These files are a file on your disk that Smedge uses to save the settings of a job. These files can be generated either automatically by Smedge (see The Smedge Client) or by using the Save button on this dialog box.

Command Line Interface

You can submit jobs into Smegde via a commandline. This is a powerful feature for scripting Smedge job submission, or for integrating Smedge directly into your pipeline via scripts and extensions to the products you use. For full documentation of the Smedge command line interface, see The Smedge Command Line.

For an example of integrating Smedge directly into an animation package, take a look at the smedgeRenderSession.mel script included in the distribution. This script shows one way to integrate Smedge into Maya by using Maya's system MEL command to call the program with the appropriate settings from your scene.

Drag and Drop

You can drag and drop files from the Windows Explorer onto Smedge. For each file dropped, Smedge will open a Submit Job dialog box. You will still have to fill in the frame range and other job specific parameters.

You can also drag and drop a file onto the Submit Job dialog box itself. In this case, the scene (and, for some render types, the project) will be automatically filled in with the file you drop.

Submitting a bunch of jobs with the same settings at one time

Smedge can submit a whole bunch of scenes to be rendered with the same parameters using the New Batch of Jobs command. This will bring up the Batch Submit Job dialog, which works almost identically to the normal Submit Job dialog box.

The main difference is that instead of a single scene file, you can create a list of scene files. Use the + and - buttons to add or remove scene files. All the other settings in the dialog will be constant for every scene file. Each scene file listed will be submitted as a new job. You can even drag and drop onto the Batch Submit Job dialog to extract a bunch of scenes at one time.

The Job Lifespan

Once a job has been submitted into the system, it will live until every packet in that job has finished, or until the job is explicitly killed by a user. You can see the progress made on a job in the main window. The "Frames" column of the Job pane tells you the frame information about the job (start, end, and packet size) and the percentage of completed packets.

You can also open the Job History window, and see more detailed information about the job. To open the Job History window, you can double click the job, you can choose "Job Statistics" from the menu, or you can select the job, then press Alt + Enter.

Viewing the job's history

Smedge maintains a detailed history of every job as it's being executed. You can access this history in several ways:

The history window shows you a bunch of useful information about the job. The first field shows you the number of finished packets out of the total job. The second shows you the number of active packets out of the remaining unfinished packets. The third is the total amount of CPU time taken for all rendering on this job so far. This number includes packets that are in progress, finished, and failed.

The fourth field is an average amount of time for the packets rendered so far, and the fifth is an estimate of the time left to render based on that averate. Note that the average is simply the average of finished packets, so if there are no finished packets, it cannot calculate an estimate, and if the later packets render at a vastly different speed than the early ones, the estimate can be significantly off. Finally, if Smedge is able to detect the location of the image files, or if it's supplied from the user, it will be shown in the last field.

The history of a job is specific to that job's life in Smedge only. Smedge does not maintain history for specific scenes across jobs. So if you resubmit a job, the old history will not be accounted for in the new job's history.

The spreadsheet shows a detailed history of every packet from a job. If the Show all failed packets option is checked, there will be one entry for every attempt to render a packet, including all failures and killed packets. If the box is unchecked, the list will only list the most recent history element for each packet. You can sort this list by any column, but ascending and descending. Click on the column headers to change how the list is sorted.

The history window comes with its own set of menus. From these menus you can do lots of things with the job, its packets and the individual frames.

File menu

Save Saves the job history to an HTML file. This is the same sort of HTML file that Smedge can generate automatically at job completion
Explore to scene directory Open a Windows Explorer window in the diretory with the scene file
Explore to images directory If the image folder has been found or set, open a Windows Explorer window in the image directory
Check all frames... Opens the Check Frames window for this job

Job menu

Job settings... Opens a Job Settings dialog box to view the job as it was submitted, and change the pool, priority, note, or scheduling options for this job.
Set images directory... Manually set the image directory for this job. This will override any previously detected image diretory, and won't be changed again automatically. Changing this directory after Smedge automatically detects it may cause the frame checking features of Smedge not to work correctly.
Delete job Deletes this job from the Smedge interface. If the job is still running, all packets will be canceled first.
Resubmit this job Resubmits this job as a new job. The new job will have all settings identical to the current job. However, any related history of this job will not be carried forward to the new job.

Packet menu

The Packet menu allows you to control individual packets from this job. The behavior of this menu depends on your selections in the list of packets. You can also access this menu by right clicking in the list of packets.

Stop packet and requeue
Stop packet permanently
Stop packet and submit as new job
These are the commands to stop a currently executing packet with various requeueing options. They are the same as the main interface versions of the commands. You can read more about how they work in the Stopping a Packet section of the Smedge Packet chapter.
Resubmit packet as new job This command will resubmit the selected packet or packets as a new job. This submission will happen regardless of the status of the selected packets. All job parameters will be the same as the original job, except for the range, which will be that of the packet.
View frame This will view the last known filename associated with this packet. This will be the filename that's shown in the Filename column of the packet list.
Copy filename to clipboard This will copy the last known filename associated with this packet to the clipboard. This will be the filename that's shown in the Filename column of the packet list.
View output This will try to view the captured output from the selected packet. If the packet is still in progress, Smedge will try to connect to the rendering client, and view the captured output live, as it streams from the renderer. For any other packet, Smedge will try to find the saved captured output file for that packet. If the file can be found, Smedge will show that file. This option works best when all clients are directed to save their captured output in a shared folder on the network.

The Check Frames Window

Smedge can automatically check the rendered frames from a job. The Check Frames window allows you to see every single frame file that should exist from a job, along with its size and date. Smedge tries to determine bad frames in the list, and displays them in different colors for easy identification. From this list you can easily requeue some or all of the bad frames from a job.

Smedge will try to automatically determine the filename and full path from the renderer. However, even if Smedge cannot automatically determine this information, you can actually enter it yourself. You can also override the range Smedge will check. Because this checking can be processor intensive, Smedge has some shortcuts built in to help cut down on processor use, at the expense of accuracy. Specifically, you may notice that if you move or delete files early in a sequence, those changes won't show up unless you manually force the list to update (available in the File menu). The processor usage will only be significant on sequences longer than a couple hundred frames.

File menu

View frame This will view the currently selected frame or frames.
Explore to images folder This will open a Windows Explorer window in the folder where the images are located
Update list This will force Smedge to refresh the entire file list. This is useful if a render is partially finished, and you want to verify the file status of earlier rendered frames
Set job image folder This allows you to set or override the image directory for the job. Once you set the folder, any frame detection will take place in that folder from then on. If Smedge normally detects the folder automatically, it will not reset the folder after you set it manually.
Set image filename format This allows you to set or override the image filename format for images rendered by this job. Once you set this formatting, it will be used from then on. If Smedge normally detects the format automatically, it will not reset the format after you set it manually. Use the wildcard character (*) to signify an unpadded frame number, or a series of question marks (?) to signify a padded number, where the number of question marks indicates the number of padded digits to use.
Set frame range This allows you to set the range of frames for Smedge to check. Normally, the range is the full range of the job, but you can override it here. If you override the range, Smedge will only show the range you set, but this check only affects the Check Frames window, not the job. The job will always render the full range it has been set to. If you close the Check Frames window, the next time you open it, Smedge will revert to checking the entire frame range of the job.

Queue menu

Select bad and missing frames This will select the frames in the list that Smedge has detected as either bad or missing. No other action is taken other than to select the frames in the list. The criteria used to judge "bad" or "missing" are customizable.
Configure bad frame selection This allows you to customize the criteria used to judge bad frames.

If you select Check for files missing on disk then frames that are not found at all on the disk will be shown in grey.

If you select Check for files smaller than then frames that are below the minimum threshold size you set (in kilobytes) will be shown in red. The default is 1 KB, generally much smaller than any normally complete image file will be, even if it's a compressed format and a completely black image.

If you select Check for files more than then frames that vary in size by the specified criteria will be shown in orange. The percentage is a difference in size percentage of an average of the number of files specified in each direction from the file. The default settings look for a 30% variation in size compared to the average of the 5 files before and 5 files after the current file. These settings work for many animations, but you may need to tweak them for highly dynamic scenes.

Requeue all bad and missing frames This will cause Smedge to requeue all currently detected bad or missing frames. The frames will be queued as new jobs. Be aware that this command ignores the current selection of the list, and requeues the frames based on the detection state. If the detection criteria are too narrow, Smedge may miss some bad frames, and if they are too loose, extra frames that had successfully rendered may get requeued.
Requeue selected frames This will cause Smedge to requeue any frames currently selected in the list. This command ignores the dection criteria altogether.

Changing job priority

You can change the priority of a job after it has been submitted. To incrment or decrement the priority by 1, you can use the Up and Down arrows, or their corresponding menu commands. The keyboard shortcut for these actions are Control + Up Arrow or Down Arrow.

You can also change the priority of a job by opening the Job Settings window. This window looks just like the Submit Job window, only many of the options are read-only. However, you can change the priority of a job to any valid priority, and then press OK, and Smedge will update the job's priority.

Changing job pool

As with priority, you can change the pool that a job is assigned to after the job has been submitted. You can choose a pool from the menu, or you can open the Job Settings window and select a pool from the list.

Stopping a job

You can stop a job at any time in one of two ways. If you set the priority of a job to zero, no new packets will be launched from that job. The job is essentially paused where it is. Note, however, that any currently processing packets will finish naturally.

If you want to permanently halt a job, you can simply delete the job from the queue. When you delete a job, all work currently in progress will be aborted.

Saved Job Information

Smedge saves two different types of information about the jobs it renders.

After a packet

The text output that you normally see on a commandline render is captured by Smedge for every packet. Besides being able to see the output in a window while renders are going, Smedge can also save this output in a text file for you to view later. To view this output, you can choose View Saved Captured Output from the View menu. The files are named with the job name plus the first frame of the packet, plus the .log extension.

By default these files are saved in the %TEMP%\Smedge folder on your local machine. However, you can configure the folder in the Smedge Options dialog box. One useful idea is to have all of your clients save their captured output into a shared folder on your file server. This way you can find the output from any packet that is rendered on your system, if you want.

You can also use the Smedge Options dialog box to configure a limit for how much disk space these files will take up. Note that if you chose to direct every machine's output to the same folder, you will probably want to increse the default limit of 5 MB of files.

After a job

After any successful job completion, Smedge can generate an HTML file with a complete history of that job. This file is useful for gathering statistics about your renders, and for having a log of the complete history of packet execution for that job. You can view these files by chosing View HTML Job History from the View menu.

By default these files are saved in the %TEMP%\Smedge folder on your local machine. However, you can configure the folder in the Smedge Options dialog box. Also, just as with the captured output files, you can ask Smedge to limit the amount of disk space that these files can possibly consume.

These files are named by the job name. If more than one file with the same job name exists, Smedge will attach a suffix number to keep each iteration of the same job separate.

Other Cool Stuff

Some other cool features of jobs that you may find useful

Job IDs

Every job has a unique ID code. For normal GUI operation, you should never need to know anything about this. However, it does come in handy for commandline operations. Specifically, this ID is needed if you want to do any commandline control of a job, or to submit a new job that is to wait for an existing job.

You can find the ID for a job in the GUI by selecting the Show Job ID command in the Queue menu. The ID is also displayed as a return output from the Submit.exe program.

For more information, see the Command Line Interface reference.

Job Files

You can load and save jobs on disk as a Smedge .smr file. A single .smr file can contain zero or more jobs. Though the file is saved in an INI format, it is not recommended to modify this file yourself.

You can load or save a single job in the Submit Job dialog box. If you load a file that has multiple jobs in it from the Load button, only the first job in the file will be loaded. If you use the Load button in the Submit Batch of Jobs dialog box, all job scenes will be loaded, but only the last job's settings will be used.

You can also load jobs from the Load Job command in the Queue menu. Every job in the file will be loaded in this case.

You can use the Save Job command in the Queue menu to save selected jobs from the main window. Select the job or jobs you want to save, and they will all be saved in a single .smr file. Alternatively, you can save the entire job queue in a single file by selecting the Queue Snapshot command.