python - 如何使用 pyglet 循环限制 cpu 使用?

标签 python pyglet

我正在编写一个音乐播放器,为了能够控制音乐读取,我创建了一个线程,在其中放置了一个 while 循环。 我的问题是,即使我用 pyglet.clock.tick() 限制循环,我的 cpu 也处于 100%。

有办法减少吗?

class PlayerThread(threading.Thread):

  stopnow = None
  player = None

  def __init__(self, player, file_path):
    threading.Thread.__init__(self)

    self.stopnow = threading.Event()
    self.player = player
    source = pyglet.media.load(file_path)
    self.player.queue(source)

  def run(self):
    self.play()
    while not self.stopnow.isSet():
      pyglet.clock.tick()


  def play(self):
    if not self.player.playing:
      self.player.play()

  def stop(self):
    self.stopnow.set()

  def pause(self):
    if self.player.playing:
      self.player.pause()

感谢您的回答。

最佳答案

您必须使用clock.set_fps_limit(number_of_frames_per_second)来设置帧速率的上限。

关于python - 如何使用 pyglet 循环限制 cpu 使用?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14579937/

相关文章:

python - 在 Mac 上的 Eclipse 中,如何将 Home/End 绑定(bind)为像 Cmd-Left/Cmd-Right 一样?

python - C 和 Python - 使用套接字进行通信

python - 绘制 Sprite 时 openGL/Pyglet 纹理图形消失

python - Python/Pyglet 中的分离轴定理

python - 如何使用 opengl 和 pyglet 设置裁剪平面

python - 预期的 LP_c_float 实例而不是 glVertex3fv 中的元组

python - 释放按钮时发出声音

python - 使用Python的requests库代替cURL

python - 减少 seaborn 时间序列图的线宽

python - 在 pyglet 或 PIL/python 中从远程服务器加载图像