试用一下GGUI,发现窗口帧速率彪得老高,直接上千帧。
我看了一下示例代码,都是通过ti.ui.Window("xxx", (xxx, xxx), vsync=True)
来限制帧速率。但是我的显示器刷新率是155Hz,所以那些代码在我眼中全部以2.5倍速运行。
我试了window.fps_limit = 60
不起作用。
现阶段能想到的方法就是利用time库手写一个计时器来限制帧速率,但是有点麻烦,要多写一堆代码。。。有没有更便捷的方法?
试用一下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)
我使用的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)
...
我把问题想复杂了,目前能做到的最简便的方法确实是用time.sleep控制帧速率。