当前位置: 首页>>代码示例>>Python>>正文


Python Timer.advanceFrame方法代码示例

本文整理汇总了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
开发者ID:Hawkheart,项目名称:fof-reborn,代码行数:13,代码来源:TimerTest.py

示例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
开发者ID:Hawkheart,项目名称:fof-reborn,代码行数:104,代码来源:Engine.py


注:本文中的Timer.Timer.advanceFrame方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。