[英]pygame.midi High CPU usage
在使用 pygame.midi 时,Python 占用了我 20-25% 的 CPU。
我想这是因为等待 MIDI 输入的“While”循环......
有任何想法吗? 我很感激你的任何建议......
这是循环:
going = True
while going:
events = event_get()
for e in events:
if e.type in [pg.QUIT]:
going = False
if e.type in [pg.KEYDOWN]:
going = False
if e.type in [pygame.midi.MIDIIN]:
if e.data2 == 127:
shortcuts(e.data1)
if i.poll():
midi_events = i.read(10)
# convert them into pygame events.
midi_evs = pygame.midi.midis2events(midi_events, i.device_id)
for m_e in midi_evs:
event_post(m_e)
您可以使用pygame.time.Clock.tick
限制 CPU 使用率:
clock = pygame.time.Clock()
going = True
while going:
clock.tick(60)
# [...]
pygame.time.Clock
对象的方法tick()
以这种方式延迟游戏,即循环的每次迭代消耗相同的时间段。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.