我必须评估 Pyopengl 与 Pyglet 的性能/功能。主要问题是它在使用高 FPS 时不会丢帧。在我开始学习其中之一之前,我需要看看它是否可以满足客户的需求。
我正在尝试在红色和绿色(在全屏模式下)之间交替(在垂直同步上)。如果有人能给我一个很好的教程网站,或者帮我举个例子,那就太好了。
我看过这篇文章(以及更多): FPS with Pyglet half of monitor refresh rate
进行了修改,但看不到如何在 Vsync 上从一种颜色切换到另一种颜色。
import pyglet
from pyglet.gl import *
fps = pyglet.clock.ClockDisplay()
# The game window
class Window(pyglet.window.Window):
def __init__(self):
super(Window, self).__init__(fullscreen=True, vsync = False)
self.flipScreen = 0
glClearColor(1.0, 1.0, 1.0, 1.0)
# Run "self.update" 128 frames a second and set FPS limit to 128.
pyglet.clock.schedule_interval(self.update, 1.0/128.0)
pyglet.clock.set_fps_limit(128)
def update(self, dt):
self.flipScreen = not self.flipScreen
pass
def on_draw(self):
pyglet.clock.tick() # Make sure you tick the clock!
if self.flipScreen == 0:
glClearColor(0, 1, 0, 1.0)
else:
glClearColor(1, 0, 0, 1.0)
self.clear()
fps.draw()
# Create a window and run
win = Window()
pyglet.app.run()
我看过很多教程,但我无法理解如何运行这个测试。
谢谢你的帮助。