Author Topic: QB_FRAME macros  (Read 3774 times)

speedtrials

  • Full Member
  • ***
  • Posts: 12
QB_FRAME macros
« on: May 06, 2007, 11:05:06 PM »
What are the differences between using QB_FRAME_NUMBER and using QB_FRAME_START and QB_FRAME_END.

for example:
qbsub --range 1-10 Render -r mr -s QB_FRAME_NUMBER -e QB_FRAME_NUMBER /path/to/MayaSceneFile.ma

vs.

qbsub --range 1-10 Render -r mr -s QB_FRAME_START -e QB_FRAME_END /path/to/MayaSceneFile.ma

Doesn't seem to make a difference in the above example, but maybe you can show an example where they do make a difference. Thanks

eric

  • Hero Member
  • *****
  • Posts: 229
Re: QB_FRAME macros
« Reply #1 on: May 06, 2007, 11:41:21 PM »
From Using Qube Remote Control 5.0 (Use.pdf, pp 16-17):

Quote
Frame-based jobs may also be done based upon frame partitions as well. This is also accomplished in combination with a different set of macro strings.

QB_FRAME_START is used to denote the first frame in the range, QB_FRAME_END is used to denote the last frame in the range. QB_FRAME_STEP is used if the frame range contains a step value. This is useful for applications which are more efficient when handling more frames than one at a time.

Example
Render frames from 1 to 100 in partitions of 10 each:
% qbsub --range 1-100 --chunk 10 Render ?s QB_FRAME_START ?e QB_FRAME_END myscenefile.ma

Example
Render frames from 1 to 100 in 2 partitions of 50 each:
% qbsub --range 1-100 --partition 2 Render ?s QB_FRAME_START ?e QB_FRAME_END myscenefile.ma

speedtrials

  • Full Member
  • ***
  • Posts: 12
Re: QB_FRAME macros
« Reply #2 on: May 06, 2007, 11:49:09 PM »
From Using Qube Remote Control 5.0 (Use.pdf, pp 16-17):

Quote
Frame-based jobs may also be done based upon frame partitions as well. This is also accomplished in combination with a different set of macro strings.

QB_FRAME_START is used to denote the first frame in the range, QB_FRAME_END is used to denote the last frame in the range. QB_FRAME_STEP is used if the frame range contains a step value. This is useful for applications which are more efficient when handling more frames than one at a time.

Example
Render frames from 1 to 100 in partitions of 10 each:
% qbsub --range 1-100 --chunk 10 Render ?s QB_FRAME_START ?e QB_FRAME_END myscenefile.ma

Example
Render frames from 1 to 100 in 2 partitions of 50 each:
% qbsub --range 1-100 --partition 2 Render ?s QB_FRAME_START ?e QB_FRAME_END myscenefile.ma

So are QB_FRAME_START and QB_FRAME_END only for use with the "--chunk" and "--partition" flags?  Can you elaborate on how and when the QB_FRAME  macros are evaluated?

eric

  • Hero Member
  • *****
  • Posts: 229
Re: QB_FRAME macros
« Reply #3 on: May 06, 2007, 11:59:43 PM »
The --chunk --partition and --range options compile different work agenda lists for the supervisor. The --range option creates a list of frames, the --partition and --chunk creates lists of ranges (--partition divides a range into a specified number of ranges, the --chunk divides a range into a list of ranges each with a specified size).

When the Worker executes the backend, it goes into a loop of requests a work agenda item from the Supervisor, which would be in the form of a frame or a frame range, then executing it. The QB_FRAME_NUMBER is a macro that it uses to substitute a single frame into the submitted command line, and the QB_FRAME_START and QB_FRAME_END are macros used to substitute the first and last frames of a range into the command line.