Как ограничить использование процессора с помощью пиглетной петли?

Я пишу музыкальный плеер, чтобы контролировать чтение музыки, я создаю поток, в который я помещаю цикл while. Моя проблема в том, что даже если я ограничу цикл pyglet.clock.tick (), мой процессор будет на 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()

Спасибо за ваш ответ.

2
nl ja de

1 ответы

Вы должны использовать clock.set_fps_limit (number_of_frames_per_second) , чтобы установить верхнюю границу частоты кадров.

2
добавлено
Это зависит от вас;), я никогда не работал с музыкой, а только с графикой, но вы можете искать что-то вроде этого: ru.wikipedia.org/wiki/24p , чтобы разобраться.
добавлено автор Rostyslav Dzinko, источник
Спасибо, он работает! как определить, сколько fps необходимо для воспроизведения музыки?
добавлено автор user2021091, источник
Python
Python
7 654 участник(ов)

Уютный чат для профессионалов, занимающихся поиском питоньих мудростей. Как не получить бан: https://t.me/ru_python/577926

Python beginners
Python beginners
4 449 участник(ов)

Вопросы про Python для чайников. Cпам и троллинг неприемлем. Не злоупотребляйте стикерами. Частозадаваемые вопросы: https://github.com/ru-python-beginners/faq/blob/master/README.md Статистика тут: https://grstats.me/chat/x4qym2k5uvfkr3al6at7

pro.python
pro.python
1 090 участник(ов)

Сообщество разработчиков под Python Создатель: @rodgelius

Rude Python
Rude Python
971 участник(ов)

Python без „девочек”, здесь матерятся и унижают Django. Not gay friendly. Правила: t.me/rudepython/114107 @rudepython | t.me/rudepython

rupython
rupython
509 участник(ов)

Группа создана с целью оперативного получения ответов на возникающие вопросы по разработке на яп python, смежные темы, а также человеческого общения. Приветствую!

Python-programming
Python-programming
266 участник(ов)

Чат группы вконтакте https://vk.com/python_community