long-running task warning now warns based on average frame duration

This commit is contained in:
Darren Ranalli 2008-08-25 21:59:14 +00:00
parent daa62a5e88
commit d0ef5b51ff
1 changed files with 7 additions and 5 deletions

View File

@ -354,7 +354,8 @@ class TaskManager:
OsdPrefix = 'task.'
DefTaskDurationWarningThreshold = 3.
# multiple of average frame duration
DefTaskDurationWarningThreshold = 4.
def __init__(self):
self.running = 0
@ -751,10 +752,11 @@ class TaskManager:
task.avgDt = 0
# warn if the task took too long
if self.warnTaskDuration:
if dt >= self.taskDurationWarningThreshold:
assert TaskManager.notify.warning('task %s ran for %.2f seconds' % (
task.name, dt))
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))
return ret