gpt4 book ai didi

python - pygame python 库中的 pygame.event.wait() 占用 100%CPU

转载 作者:行者123 更新时间:2023-12-01 09:24:30 27 4
gpt4 key购买 nike

我在脚本中使用 pygame.event.wait() 函数来降低 CPU 使用率。我在这里找到了这个想法:

https://www.pygame.org/docs/ref/event.html#pygame.event.wait

以及使用示例: Pygame waiting the user to keypress a key

我试图找出为什么该函数没有按预期工作以及脚本中的错误在哪里:

import pygame    
from pygame.locals import *
import threading


def read_keyboard():
pygame.event.clear()
while True:
event = pygame.event.wait() # here we wait until user hits keyboard
player_input = ''
font = pygame.font.Font(None, 50)
if event.type == KEYDOWN:
if event.unicode == 'h':
player_input = 'hello'
elif event.type == QUIT:
return

read_keyboard_thread = threading.Thread(target = read_keyboard)

pygame.init()
screen = pygame.display.set_mode((480,360))
read_keyboard_thread.start()

最佳答案

这个问题似乎是由 pygame 中声音的处理方式引起的。看来 CPU 利用率是 pygame 的一个已知问题,并且有关于它的不同帖子,特别是这个有助于解决该问题的帖子:

https://github.com/pygame/pygame/issues/331

我更新了代码以禁用 pygame 中的某些混合器类,它有所帮助。我很幸运在这个项目中不需要声音:-)

 53 pygame.init()    #  here we start all of the pygame stuff
54 pygame.mixer.quit()

最后,如果需要混合器,建议从源代码编译 pygame 以解决问题

https://github.com/pygame/pygame

关于python - pygame python 库中的 pygame.event.wait() 占用 100%CPU,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50545990/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com