有没有办法 运行 While 循环每秒 60 次?

Is there an way to run a While loop 60 times a second?

我正在尝试在 Tkinter 中创建一个游戏,我希望每秒有一个 While 循环 运行 x 次。均匀分布。

我试过将 1 除以 X 并使用时间模块来等待该数量。但是它没有运行它每秒60次,只有50次。

def start(self):
        Frame.__init__(self, self.master)
        self.fpLength = 1 / self.fps
        while True:
            # Code here
            time.sleep(self.fpLength)

我希望代码每秒 运行 60 次。但它 运行 大约 55。

如果你在线程中进行(见我的评论)你可以尝试类似

def start(self):
        Frame.__init__(self, self.master)
        # self.fpLength = 1 / self.fps
        while True:
            # Code here
            clock = time.perf_counter() * 60  #  measer time in 1/60 seconds
            sleep = int(clock) + 1 - clock  #  time till the next 1/60 
            time.sleep(sleep/60)

当然你可以在这里使用self.fps而不是常量60,我用它只是为了更清楚的注释。