怎么限制GGUI窗口的帧速率为60?

试用一下GGUI,发现窗口帧速率彪得老高,直接上千帧。

我看了一下示例代码,都是通过ti.ui.Window("xxx", (xxx, xxx), vsync=True)来限制帧速率。但是我的显示器刷新率是155Hz,所以那些代码在我眼中全部以2.5倍速运行。

我试了window.fps_limit = 60不起作用。

现阶段能想到的方法就是利用time库手写一个计时器来限制帧速率,但是有点麻烦,要多写一堆代码。。。有没有更便捷的方法?

我在使用GGUI时,设置vsync=True是有效的。

window = ti.ui.Window('Solar System', (800, 600), True)

144Hz

72Hz

我使用的Taichi版本是

[Taichi] version 0.8.1, llvm 10.0.0, commit cc2dd342, win, python 3.8.10

抱歉,上面的回复中我没有看清楚问题。

我觉得在main loop里加个sleep应该是可以的。
下面代码中我希望将帧率控制在60fps,这样虽然不够精准,但应该是比较容易做到的。

import time
...
    while window.running:
        time.sleep(1./60)
...
1 个赞

我把问题想复杂了,目前能做到的最简便的方法确实是用time.sleep控制帧速率。

1 个赞