什么会导致 pygame.init() 执行需要 40 秒?
What would be causing pygame.init() to take 40 seconds to execute?
Pygame 昨晚运行完美,现在 pygame.init() 函数与之前的瞬间相比需要大约 40 秒才能完成。
import pygame
import time
start = time.time()
pygame.init()
print(f"Runtime: {time.time() - start}")
控制台结果:
"C:\Program Files\Python39\python.exe" "D:/Google Drive/CompSci/proj/Alien Invasion/test.py"
pygame 2.0.1 (SDL 2.0.14, Python 3.9.0)
Hello from the pygame community. https://www.pygame.org/contribute.html
Runtime: 40.15961766242981
通常运行时间应该几乎是即时的...
我在 Windows Defender 中排除了所有相关文件夹:
Windows Defender exlusions
根据 this GitHub issue,故障排除步骤是分别执行所有 init
,例如:
pygame.display.init()
pygame.mixer.pre_init(frequency=44100, size=-16, channels=2, buffersize=512,
allowedchanges=pygame.AUDIO_ALLOW_ANY_CHANGE)
pygame.mixer.init()
pygame.joystick.init()
这将使哪一个正在减慢速度变得显而易见。在 OP 的情况下,是 joystick.init()
导致速度缓慢,通过断开并重新连接键盘解决了这个问题。
Pygame 昨晚运行完美,现在 pygame.init() 函数与之前的瞬间相比需要大约 40 秒才能完成。
import pygame
import time
start = time.time()
pygame.init()
print(f"Runtime: {time.time() - start}")
控制台结果:
"C:\Program Files\Python39\python.exe" "D:/Google Drive/CompSci/proj/Alien Invasion/test.py"
pygame 2.0.1 (SDL 2.0.14, Python 3.9.0)
Hello from the pygame community. https://www.pygame.org/contribute.html
Runtime: 40.15961766242981
通常运行时间应该几乎是即时的...
我在 Windows Defender 中排除了所有相关文件夹: Windows Defender exlusions
根据 this GitHub issue,故障排除步骤是分别执行所有 init
,例如:
pygame.display.init()
pygame.mixer.pre_init(frequency=44100, size=-16, channels=2, buffersize=512,
allowedchanges=pygame.AUDIO_ALLOW_ANY_CHANGE)
pygame.mixer.init()
pygame.joystick.init()
这将使哪一个正在减慢速度变得显而易见。在 OP 的情况下,是 joystick.init()
导致速度缓慢,通过断开并重新连接键盘解决了这个问题。