本文整理汇总了Python中Timer.Timer.advanceFrame方法的典型用法代码示例。如果您正苦于以下问题:Python Timer.advanceFrame方法的具体用法?Python Timer.advanceFrame怎么用?Python Timer.advanceFrame使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类Timer.Timer
的用法示例。
在下文中一共展示了Timer.advanceFrame方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Python代码示例。
示例1: testFrameLimiter
# 需要导入模块: from Timer import Timer [as 别名]
# 或者: from Timer.Timer import advanceFrame [as 别名]
def testFrameLimiter(self):
t = Timer(fps = 60)
fps = []
while t.frame < 100:
ticks = list(t.advanceFrame())
fps.append(t.fpsEstimate)
fps = fps[30:]
avgFps = sum(fps) / len(fps)
assert 0.8 * t.fps < avgFps < 1.2 * t.fps
示例2: __init__
# 需要导入模块: from Timer import Timer [as 别名]
# 或者: from Timer.Timer import advanceFrame [as 别名]
#.........这里部分代码省略.........
self.running = False
def addTask(self, task, synchronized = True):
"""
Add a task to the engine.
@param task: L{Task} to add
@type synchronized: bool
@param synchronized: If True, the task will be run with small
timesteps tied to the engine clock.
Otherwise the task will be run once per frame.
"""
if synchronized:
queue = self.tasks
else:
queue = self.frameTasks
if not task in queue:
queue.append(task)
task.started()
def removeTask(self, task):
"""
Remove a task from the engine.
@param task: L{Task} to remove
"""
found = False
queues = self._getTaskQueues(task)
for q in queues:
q.remove(task)
if queues:
task.stopped()
def _getTaskQueues(self, task):
queues = []
for queue in [self.tasks, self.frameTasks]:
if task in queue:
queues.append(queue)
return queues
def pauseTask(self, task):
"""
Pause a task.
@param task: L{Task} to pause
"""
self.paused.append(task)
def resumeTask(self, task):
"""
Resume a paused task.
@param task: L{Task} to resume
"""
self.paused.remove(task)
def enableGarbageCollection(self, enabled):
"""
Enable or disable garbage collection whenever a random garbage
collection run would be undesirable. Disabling the garbage collector
has the unfortunate side-effect that your memory usage will skyrocket.
"""
if enabled:
gc.enable()
else:
gc.disable()
def collectGarbage(self):
"""
Run a garbage collection run.
"""
gc.collect()
def boostBackgroundThreads(self, boost):
"""
Increase priority of background threads.
@param boost True of the scheduling of the main UI thread should be
made fairer to background threads, False otherwise.
"""
self.timer.highPriority = not bool(boost)
def _runTask(self, task, ticks = 0):
if not task in self.paused:
self.currentTask = task
task.run(ticks)
self.currentTask = None
def run(self):
"""Run one cycle of the task scheduler engine."""
if not self.frameTasks and not self.tasks:
return False
for task in self.frameTasks:
self._runTask(task)
for ticks in self.timer.advanceFrame():
for task in self.tasks:
self._runTask(task, ticks)
return True