#Field Render Design Flaw
2 messages in this thread
Some time ago I posted about a "Field Render Design Flaw." At the time I
couldn't think of any reason Gary would have done it the way he did it, as it
made no sense in relation to actual field/frame timing in real video. But
recently it occurred to me: Field Render was introduced in Release 2, and
Network Render in Relese 3. That means that at the time the Field Render code
was written, there was no Network Render, and the only way to render to
multiple machines was to start them manually (or as Batches, but that's
tedious) and have Machine 1 rended, say, the range of frames from 0-100 and
Machine 2 do 101-200 and Machine 3 do 3-300, etc. But if you wanted to process
frames as they were being produced (such as assembling them into a QuickTime or
AVI movie), you'd need to wait until the whole thing was done that way since
the frames would be done WAY out of order.
Alternatively, you could tell all three machines to render every 3rd frame
by setting Render Every Nth Frame to 3, then have Machine 1 do the range 0-300,
Machine 2 do the range 1-300, and Machine 3 do 2-100. Then each machine would
still be rendering a third of the frames, but they'd all be completed more or
less in order, making post-processing while the render is still in progress
much more feasible.
Of course, if you do that latter method, _and_ you have Render Fields turned
on, you do NOT want the fields interpolated halfway between the frames each
machine is rendering! You want the second field to be the interpolation of 1/2
frame from the frame being rendered REGARDLESS of the value of "Render Every
Nth Frame"!
But with Network Render which more or less automates that method, the value
of having the 2nd Fields calculated as they are is considerably less. It is
far more valuable to have the fields calculated based on half the distance
between frames to be rendered, so that if you wanted to render a speeded-up
version for some reason (say, going to a 10fps .FLC or .AVI or .MOV for preview
purposes or CD-ROM), you could just take the 30fps intended-for-video version,
set Nth Frame to 3, and render, and the fields would be calculated correctly so
that the second field of each frame would act as if it were Frame F + 1.5 where
F was the frame that the first field was rendered as (of course, you'd only
_need_ fields for a .FLC or .AVI or .MOV on CD-ROM if you intended to play it
back on an interlaced monitor…).
At any rate, I see now what Gary was probably thinking and why he did it the
way he did. At the time (before Network Rendering was even a gleam in his
eye), it was indeed the right way to do it. There might still be times when
having it that way is desirable (for instance, when rendering from Video Post
using the old FLARE_I.IXP [not FLARE2_I.IXP] which would not Network Render
properly, if you needed to space out the frames among several machines). I
just wish there were a 3DS.SET switch to enable us to choose between them.
FIELD_NO_DOUBLE ain't it.
I feel like I'm getting a history lesson… about myself!
– G