在 Python 的 Kivy 中使用 Config 设置 maxfps 不会限制 fps
Setting maxfps using Config in Python's Kivy doesn't limit the fps
我想在 Kivy 中定义 fps 限制。
我尝试使用 Config.set('graphics', 'maxfps', '60')
将 fps 限制为 60,但根据 Clock.schedule_interval(lambda dt: print(Clock.get_fps()), 1)
.
,我仍然至少达到 70 到 80 fps 左右
这是我的完整代码:
from kivy.clock import Clock
from kivy.uix.label import Label
from kivy.config import Config
Config.set('graphics', 'maxfps', '60')
class SimpleKivy(App):
def build(self):
Clock.schedule_interval(lambda dt: print(Clock.get_fps()), 1)
return Label(text='Hello world!')
if __name__ == '__main__':
SimpleKivy().run()
你需要先放 import config
然后你需要放配置集,它应该像这样工作。
导入顺序在这里很重要。该示例在导入任何其他与 kivy 相关的内容之前导入配置时有效:
from kivy.config import Config
Config.set('graphics', 'maxfps', '10')
from kivy.app import App
from kivy.clock import Clock
from kivy.uix.label import Label
class SimpleKivy(App):
def build(self):
Clock.schedule_interval(lambda dt: print(Clock.get_fps()), 1)
return Label(text='Hello world!')
if __name__ == '__main__':
SimpleKivy().run()
如 Kivy bugtracker 上的相关 github 问题所述,FPS 可能 over/undershoot 略有下降,但这是一个总体方向。
我想在 Kivy 中定义 fps 限制。
我尝试使用 Config.set('graphics', 'maxfps', '60')
将 fps 限制为 60,但根据 Clock.schedule_interval(lambda dt: print(Clock.get_fps()), 1)
.
这是我的完整代码:
from kivy.clock import Clock
from kivy.uix.label import Label
from kivy.config import Config
Config.set('graphics', 'maxfps', '60')
class SimpleKivy(App):
def build(self):
Clock.schedule_interval(lambda dt: print(Clock.get_fps()), 1)
return Label(text='Hello world!')
if __name__ == '__main__':
SimpleKivy().run()
你需要先放 import config
然后你需要放配置集,它应该像这样工作。
导入顺序在这里很重要。该示例在导入任何其他与 kivy 相关的内容之前导入配置时有效:
from kivy.config import Config
Config.set('graphics', 'maxfps', '10')
from kivy.app import App
from kivy.clock import Clock
from kivy.uix.label import Label
class SimpleKivy(App):
def build(self):
Clock.schedule_interval(lambda dt: print(Clock.get_fps()), 1)
return Label(text='Hello world!')
if __name__ == '__main__':
SimpleKivy().run()
如 Kivy bugtracker 上的相关 github 问题所述,FPS 可能 over/undershoot 略有下降,但这是一个总体方向。