mirror of
https://github.com/panda3d/panda3d.git
synced 2025-10-04 02:42:49 -04:00
added osd support
This commit is contained in:
parent
468fb19220
commit
0b79545908
@ -312,6 +312,8 @@ class TaskManager:
|
|||||||
|
|
||||||
doLaterCleanupCounter = 2000
|
doLaterCleanupCounter = 2000
|
||||||
|
|
||||||
|
OsdPrefix = 'task.'
|
||||||
|
|
||||||
def __init__(self):
|
def __init__(self):
|
||||||
self.running = 0
|
self.running = 0
|
||||||
self.stepping = 0
|
self.stepping = 0
|
||||||
@ -935,7 +937,49 @@ class TaskManager:
|
|||||||
# Ask for the time last frame
|
# Ask for the time last frame
|
||||||
return globalClock.getFrameTime(), globalClock.getFrameCount()
|
return globalClock.getFrameTime(), globalClock.getFrameCount()
|
||||||
|
|
||||||
|
def startOsd(self):
|
||||||
|
self.add(self.doOsd, 'taskMgr.doOsd')
|
||||||
|
self._osdEnabled = None
|
||||||
|
def osdEnabled(self):
|
||||||
|
return hasattr(self, '_osdEnabled')
|
||||||
|
def stopOsd(self):
|
||||||
|
onScreenDebug.removeAllWithPrefix(TaskManager.OsdPrefix)
|
||||||
|
self.remove('taskMgr.doOsd')
|
||||||
|
del self._osdEnabled
|
||||||
|
def doOsd(self, task):
|
||||||
|
import fpformat
|
||||||
|
prefix = TaskManager.OsdPrefix
|
||||||
|
onScreenDebug.removeAllWithPrefix(prefix)
|
||||||
|
i = 0
|
||||||
|
taskNameWidth = 32
|
||||||
|
dtWidth = 10
|
||||||
|
priorityWidth = 10
|
||||||
|
totalDt = 0
|
||||||
|
totalAvgDt = 0
|
||||||
|
for taskPriList in self.taskList:
|
||||||
|
priority = `taskPriList.getPriority()`
|
||||||
|
for task in taskPriList:
|
||||||
|
if task is None:
|
||||||
|
break
|
||||||
|
if task.isRemoved():
|
||||||
|
taskName = '(R)' + task.name
|
||||||
|
else:
|
||||||
|
taskName = task.name
|
||||||
|
totalDt = totalDt + task.dt
|
||||||
|
totalAvgDt = totalAvgDt + task.avgDt
|
||||||
|
onScreenDebug.add(
|
||||||
|
('%s%02s.%s' % (prefix, i, task.name)).ljust(taskNameWidth),
|
||||||
|
'%s %s %s %s' % (
|
||||||
|
fpformat.fix(task.dt*1000, 2).rjust(dtWidth),
|
||||||
|
fpformat.fix(task.avgDt*1000, 2).rjust(dtWidth),
|
||||||
|
fpformat.fix(task.maxDt*1000, 2).rjust(dtWidth),
|
||||||
|
priority.rjust(priorityWidth)))
|
||||||
|
i += 1
|
||||||
|
onScreenDebug.add(('%s%02s.total' % (prefix, i)).ljust(taskNameWidth),
|
||||||
|
'%s %s' % (
|
||||||
|
fpformat.fix(totalDt*1000, 2).rjust(dtWidth),
|
||||||
|
fpformat.fix(totalAvgDt*1000, 2).rjust(dtWidth),))
|
||||||
|
return cont
|
||||||
"""
|
"""
|
||||||
|
|
||||||
import Task
|
import Task
|
||||||
|
Loading…
x
Reference in New Issue
Block a user