我想创建每500毫秒运行一次的触发器,它应该不会随着时间的推移而漂移。 我运行此代码以在pyopengl中显示内容
def __init__(self):
...
self.t_on = time.clock()
...
def display_gl(self):
...
if (time.clock() - self.t_on) >= 0.500:
self.t_on = time.clock()
#do things
...
随着时间的推移,时钟正在漂移,我认为这是因为if
条件在一段时间后正在赶上500毫秒的时刻。
有没有办法避免这种漂移问题?
解决:
改变:
if (time.clock() - self.t_on) >= 0.500:
self.t_on = time.clock()
为:
if (time.clock() - self.t_on) >= 0.500:
self.t_on =time.clock() - ((time.clock() - self.t_on) - 0.500)
答案 0 :(得分:0)
<强>解决强>:
感谢Mayeul sgc
改变:
if (time.clock() - self.t_on) >= 0.500:
self.t_on = time.clock()
为:
if (time.clock() - self.t_on) >= 0.500:
self.t_on =time.clock() - ((time.clock() - self.t_on) - 0.500)