diff --git a/src/server/distrend.c b/src/server/distrend.c --- a/src/server/distrend.c +++ b/src/server/distrend.c @@ -155,6 +155,7 @@ int start_data(){ void finish_frame(struct distrenjob *distrenjob, int frame){ distrenjob->frameset[frame].status = 2; distrenjob->frameset[frame].time_to_render = (clock() - distrenjob[jobnum].frameset[frame].start_time); // Consider changing time-to-render to time-for-frame or something? + distrenjob->avg_render_time = ((distrenjob->avg_render_time*(distrenjob->completed_frames - 1)) + distrenjob->frameset[frame].time_to_render)/distrenjob->completed_frames; general_info.total_frames_rendered++; // Increase total frames var for stats } @@ -260,7 +261,6 @@ void status_report_generator(struct dist /* If the frame is done */ { finished_frames ++; - total_time += distrenjob_ptr->frameset[framecounter].time_to_render; } if(distrenjob_ptr->frameset[framecounter].status == 1) @@ -280,7 +280,6 @@ void status_report_generator(struct dist distrenjob_ptr->completed_frames = finished_frames; distrenjob_ptr->assigned_frames = pending_frames; distrenjob_ptr->percent_done = percent_frames_finished; - distrenjob_ptr->avg_render_time = (total_time / finished_frames); /*< extraneous parentheses! */ distrenjob_ptr->time_remaining = (distrenjob_ptr->avg_render_time * (distrenjob_ptr->total_frames - finished_frames)); /*< extraneous parentheses! */ if(finished_frames == distrenjob_ptr->total_frames)