如何限制pyglet中的FPS?(窗口on_draw事件)

用户名

我的pyglet应用程序运行正常,但是我觉得我得到的FPS太高,满足我的需要只是不必要的CPU使用率。我得到的FPS似乎在200-2000之间,而我实际上只需要60左右。

在较旧的pyglet版本中,有一个称为的函数set_fps,所有现有的在线帮助似乎都指向我无法使用的不推荐使用的函数。

pyglet文档现在说要限制内容,您应该使用该pyglet.clock.schedule_interval函数,我已经在我的update方法中使用过该函数,以使其每秒可以调用60次:pyglet.clock.schedule_interval(update, 1 / 60.0)这有效。但是我需要为on_draw窗口事件做同样的事情。计划这似乎是不可能的。

有谁知道如何限制pyglet中的FPS?

我的代码与pyglet文档中示例游戏没什么不同

window = pyglet.window.Window()

@window.event
def on_draw():  # <----- how to limit how often this is called?
    # ... perform ordinary window drawing operations ...

编辑:

经过一段时间的摸索,也许可以找到解决方案,但是不确定这是否是正确的方法:

def draw_everything(dt):
    # draw stuff here

@window.event
def on_draw():
    draw_everything(None)

pyglet.clock.schedule_interval(draw_everything, 1/60)
用户名

似乎正确的做法是这样的:

def draw_everything(dt):
# draw stuff here

@window.event
def on_draw():
    draw_everything(None)

pyglet.clock.schedule_interval(draw_everything, 1/60)

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

如何使用反应式扩展程序以最大窗口大小来限制事件?

来自分类Dev

pyglet on_draw事件仅在鼠标移动时发生

来自分类Dev

如何处理指令中的窗口滚动事件?

来自分类Dev

如何在全日历中限制每个时隙的事件?

来自分类Dev

如何控制何时在gktmm3-Gtk :: DrawingArea的on_draw事件中执行代码

来自分类Dev

如何在关闭事件中获取剑道窗口的名称

来自分类Dev

如何在C ++循环中限制FPS?

来自分类Dev

如何在Leaflet.draw中编辑弹出窗口

来自分类Dev

如何设置窗口的大小限制?

来自分类Dev

如何限制窗口小部件生成的事件数

来自分类Dev

如何在窗口事件/鼠标滚轮中添加参数

来自分类Dev

Pyglet没有调用on_draw

来自分类Dev

为什么我的窗口对on_draw不起作用?

来自分类Dev

在循环C ++中限制fps

来自分类Dev

如何关闭pyglet窗口?

来自分类Dev

子类化窗口时如何在pyglet中安排回调

来自分类Dev

如何在pygame中限制窗口大小的限制

来自分类Dev

如何在VLC中限制窗口调整大小时的窗口比例

来自分类Dev

如何限制所有程序的FPS?

来自分类Dev

pyglet on_draw事件仅在鼠标移动时发生

来自分类Dev

如何在全日历中限制每个时隙的事件?

来自分类Dev

如何在OnWindowRendred事件处理程序中关闭窗口?

来自分类Dev

限制Javascript中的按键事件

来自分类Dev

如何使用JAVA处理多个窗口(不同的jframe)中的事件?

来自分类Dev

如何在cocos2d-x中限制60 FPS

来自分类Dev

如何更改pyglet窗口的颜色

来自分类Dev

如何限制 flatMap 进程中当前正在处理的事件?

来自分类Dev

如何在 Outlook AppointmentItem 中捕获窗口关闭事件?

来自分类Dev

如何从 WPF 中的单独窗口引发 Datagrid RowEditEnding 事件?

Related 相关文章

热门标签

归档