gpt4 book ai didi

python - PyOpenGL + Pygame 在全屏模式下上限为 60 FPS

转载 作者:行者123 更新时间:2023-11-28 20:11:59 25 4
gpt4 key购买 nike

我目前正在开发一个用 pygame 编写的游戏引擎,我想添加 OpenGL 支持。

我编写了一个测试来了解如何让 pygame 和 OpenGL 一起工作,当它在窗口模式下运行时,它的运行速度在 150 到 200 fps 之间。当我全屏运行它时(我所做的只是在设置窗口时添加 FULLSCREEN 标志),它下降到 60 fps。我添加了更多的绘图函数以查看它是否只是一个巨大的性能下降,但它总是以 60 fps 的速度运行。

我是否需要做一些额外的事情来告诉 OpenGL 它正在全屏运行,或者这是 OpenGL 的限制?

(我在 Windows XP 中运行)

最佳答案

正如 frou 所指出的,这是由于 Pygame 在您通过调用 display.flip() 更新屏幕时等待垂直回扫。作为Pygame display documentation注意,如果您使用 HWSURFACEDOUBLEBUF 标志设置显示模式,display.flip() 将在交换之前等待垂直回扫缓冲区。

老实说,我看不出有什么好的理由(除了基准测试)尝试实现比屏幕刷新率更快的帧率。你(和玩你游戏的人)将无法注意到速度或性能上的任何差异,因为无论如何显示器只能绘制 60 fps。另外,如果您不与垂直回溯同步,您很有可能会得到 screen tearing。 .

关于python - PyOpenGL + Pygame 在全屏模式下上限为 60 FPS,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1217939/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com