# HG changeset patch # User LordOfWar # Date 2009-09-14 16:41:53 # Node ID b9b775e4fc19159360b5aaf691ea18ef7164ca4b # Parent 13533b1094bd141b5690db71c54d902d6c3b8144 average time to render each frame in a job is no longer calculated by the status_report_generator, its re-generated each time a frame is finished. diff --git a/INSTALL b/INSTALL --- a/INSTALL +++ b/INSTALL @@ -2,7 +2,7 @@ Installation Instructions ************************* Copyright (C) 1994, 1995, 1996, 1999, 2000, 2001, 2002, 2004, 2005, -2006, 2007, 2008 Free Software Foundation, Inc. +2006, 2007, 2008, 2009 Free Software Foundation, Inc. This file is free documentation; the Free Software Foundation gives unlimited permission to copy, distribute and modify it. @@ -159,7 +159,7 @@ Particular systems CC is not installed, it is recommended to use the following options in order to use an ANSI C compiler: - ./configure CC="cc -Ae" + ./configure CC="cc -Ae -D_XOPEN_SOURCE=500" and if that doesn't work, install pre-built binaries of GCC for HP-UX. @@ -174,6 +174,16 @@ and if that doesn't work, try ./configure CC="cc -nodtk" + On Solaris, don't put `/usr/ucb' early in your `PATH'. This +directory contains several dysfunctional programs; working variants of +these programs are available in `/usr/bin'. So, if you need `/usr/ucb' +in your `PATH', put it _after_ `/usr/bin'. + + On Haiku, software installed for all users goes in `/boot/common', +not `/usr/local'. It is recommended to use the following options: + + ./configure --prefix=/boot/common + Specifying the System Type ========================== @@ -189,7 +199,8 @@ type, such as `sun4', or a canonical nam where SYSTEM can have one of these forms: - OS KERNEL-OS + OS + KERNEL-OS See the file `config.sub' for the possible values of each field. If `config.sub' isn't included in this package, then this package doesn't 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)