Package pilas :: Module fps
[hide private]
[frames] | no frames]

Source Code for Module pilas.fps

 1  # -*- encoding: utf-8 -*- 
 2  from PyQt4 import QtCore 
 3   
4 -class FPS(object):
5 """Representa un controlador de tiempo para el mainloop de pilas.""" 6
7 - def __init__(self, fps, usar_modo_economico):
8 """Inicia el administrador de cuadros por segundo. 9 10 :param fps: Cantidad de cuadros por segundo esperados. 11 :param usar_modo_economico: Si vale True intenta reducir la cantidad de recursos utilizados. 12 """ 13 # TODO: Eliminar el argumento usar_modo_economico que no se está usando. 14 self.cuadros_por_segundo = "??" 15 self.frecuencia = 1000.0 / fps 16 self.timer = QtCore.QTime() 17 self.timer.start() 18 self.siguiente = self.timer.elapsed() + self.frecuencia 19 self.cuadros = 0 20 self.ultimo_reporte_fps = 0 21 self.cuadros_por_segundo_numerico = 0
22
23 - def actualizar(self):
24 actual = self.timer.elapsed() 25 26 if actual > self.siguiente: 27 cantidad = 0 28 29 while actual > self.siguiente: 30 self.siguiente += self.frecuencia 31 cantidad += 1 32 self._procesar_fps(actual) 33 34 if cantidad > 10: 35 cantidad = 10 36 37 self.cuadros += 1 38 return cantidad 39 else: 40 # wait 41 return 0
42
43 - def _procesar_fps(self, actual):
44 if actual - self.ultimo_reporte_fps > 1000.0: 45 self.ultimo_reporte_fps += 1000.0 46 self.cuadros_por_segundo = str(self.cuadros) 47 self.cuadros_por_segundo_numerico = self.cuadros 48 self.cuadros = 0
49
51 "Retorna la cantidad de cuadros por segundo." 52 return self.cuadros_por_segundo
53