我正在使用 pyglet 构建一个 python 程序。源代码在我的笔记本电脑以外的任何计算机上都可以正常运行。我的笔记本电脑也是唯一一款配备 AMD 显卡的笔记本电脑:HD4250。它的 Xubuntu 13.04 AMD64 和图形驱动程序是 X11 开源驱动程序。这是它的外观:
在构造函数中添加明确的语句时,屏幕会正确构建,但速度非常慢。它每 30 秒最多刷新 2 次,几乎不响应任何输入。我怎样才能解决这个问题?
OpenGL 似乎不是问题:当使用 Qt OpenGL(也是 C++)时,根本没有这样的问题。
一些(希望是相关的)代码:
def draw(self):
pyglet.text.Label('Start Screen',
font_name='Arial',
font_size=16,
x=self.window.get_size()[0]/2, y=self.window.get_size()[1]-20,
anchor_x='center', anchor_y='center').draw()
pyglet.text.Label('This side is looking at the enemy',
font_name='Arial',
font_size=16,
x=self.window.get_size()[0]/2, y=self.window.get_size()[1]-60,
anchor_x='center', anchor_y='center').draw()
pyglet.text.Label(self.bottumText,
font_name='Arial',
font_size=16,
x=self.window.get_size()[0]/2, y=20,
anchor_x='center', anchor_y='center').draw()
for y in range(0, len(self.fields)):
for field in self.fields[y]:
if (field.selected):
glColor3f(self.color[0], self.color[1], self.color[2])
# glColor3f(1, 0, 1)
else:
glColor3f(1, 1, 1)
# Draw center
# self.drawCircle(field.x, field.y, 5, [1, 1, 1])
# # Draw top side
pyglet.graphics.draw(2, pyglet.gl.GL_LINES, ('v2i',
(field.x + field.size, field.y + field.size,
field.x - field.size, field.y + field.size)))
# Draw down side
pyglet.graphics.draw(2, pyglet.gl.GL_LINES, ('v2i',
(field.x + field.size, field.y - field.size,
field.x - field.size, field.y - field.size)))
# Draw left side
pyglet.graphics.draw(2, pyglet.gl.GL_LINES, ('v2i',
(field.x - field.size, field.y - field.size,
field.x - field.size, field.y + field.size)))
# Draw right side
pyglet.graphics.draw(2, pyglet.gl.GL_LINES, ('v2i',
(field.x + field.size, field.y - field.size,
field.x + field.size, field.y + field.size)))