{
this->mwindow = mwindow;
this->render = render;
+ render_frames = 0;
}
RenderThread::~RenderThread()
int strategy, int range_type)
{
// Total length in seconds
- double total_length;
+ double total_length = 0;
RenderFarmServer *farm_server = 0;
FileSystem fs;
const int debug = 0;
render->result = 1;
}
}
+ render_frames = render->default_asset->frame_rate * total_length;
// Generate packages
if(!render->result)
// Perform local rendering
-
if(!render->result)
{
render->start_progress();
-
-
-
MainPackageRenderer package_renderer(render);
render->result = package_renderer.initialize(mwindow,
command->get_edl(), // Copy of master EDL
render->preferences,
render->default_asset);
-
-
-
-
-
-
while(!render->result)
{
// Get unfinished job
} // file_number
-
-
printf("Render::render_single: Session finished.\n");
-
-
-
-
if( strategy == SINGLE_PASS_FARM ||
strategy == FILE_PER_LABEL_FARM ) {
if( !render->progress ) {
// Delete the progress box
render->stop_progress();
-
if(debug) printf("Render::render %d\n", __LINE__);
}
-
// Paste all packages into timeline if desired
if(!render->result &&
void RenderThread::run()
{
+ Timer render_timer;
+
if( mwindow )
render->preferences->copy_from(mwindow->preferences);
}
}
render->completion->unlock();
+ double render_time = render_timer.get_difference() / 1000.0;
+ double render_rate = render_time > 0 ? render_frames / render_time : 0;
+ printf("** rendered %jd frames in %0.3f secs, %0.3f fps\n",
+ render_frames, render_time, render_rate);
if( render->mode == Render::INTERACTIVE && render->beep )
mwindow->beep(3000., 1.5, 0.5);