Mercurial > code > home > repos > light9
view light8/updatefreq.py @ 11:c65119b66b00
- no more kw args -- they didn't do anything. use configure to change
- no more kw args -- they didn't do anything. use configure to change
things instead.
- colortrough on the way to a more generic color fader, now called
colorfade
- get/set methods make FlyingFader seem more like a Scale
author | dmcc |
---|---|
date | Sun, 07 Jul 2002 06:01:57 +0000 |
parents | 45b12307c695 |
children | b75bfbcf5979 |
line wrap: on
line source
"""calculates your updates-per-second""" import time class Updatefreq: """make one of these, call update() on it as much as you want, and then float() or str() the object to learn the updates per second. the samples param to __init__ specifies how many past updates will be stored. """ def __init__(self,samples=20): self.times=[0] self.samples=samples def update(self): """call this every time you do an update""" self.times=self.times[-self.samples:] self.times.append(time.time()) def __float__(self): """a cheap algorithm, for now, which looks at the first and last times only""" try: hz=len(self.times)/(self.times[-1]-self.times[0]) except ZeroDivisionError: return 0 return hz def __str__(self): return "%.2fHz"%float(self)