Browse Source

fix for div-by-zero in task duration warning

Darren Ranalli 17 years ago
parent
commit
77cfda8691
1 changed files with 6 additions and 4 deletions
  1. 6 4
      direct/src/task/Task.py

+ 6 - 4
direct/src/task/Task.py

@@ -753,10 +753,12 @@ class TaskManager:
 
         # warn if the task took too long
         if self.warnTaskDuration and self.globalClock:
-            avgFrameDur = (1. / self.globalClock.getAverageFrameRate())
-            if dt >= (self.taskDurationWarningThreshold * avgFrameDur):
-                assert TaskManager.notify.warning('frame %s: task %s ran for %.2f seconds, avg frame duration=%.2f seconds' % (
-                    globalClock.getFrameCount(), task.name, dt, avgFrameDur))
+            avgFrameRate = self.globalClock.getAverageFrameRate()
+            if avgFrameRate > .00001:
+                avgFrameDur = (1. / avgFrameRate)
+                if dt >= (self.taskDurationWarningThreshold * avgFrameDur):
+                    assert TaskManager.notify.warning('frame %s: task %s ran for %.2f seconds, avg frame duration=%.2f seconds' % (
+                        globalClock.getFrameCount(), task.name, dt, avgFrameDur))
             
         return ret