如何解决为什么我的基本PyGame模块这么慢?
| 我已经计划在Pygame中编写代码,而我刚开始接触基础知识时发现执行代码确实很慢。当我按下一个键时,要花一些时间才能在终端上打印它(似乎没有任何图案)。 我运行的是Python 2.6,遇到此问题后我将其降级。通过进一步的测试,我发现整个系统速度变慢。有没有人遇到过这个问题或有解决方案,因此它可以运行得更快或/并且可以防止系统变慢? 操作系统-Ubuntu 硬件-Macbook Proimport pygame
import pygame.locals
pygame.mixer.init()
screen = pygame.display.set_mode((640,480))
pygame.display.set_caption(\"bla\")
background = pygame.Surface(screen.get_size())
background = background.convert()
background.fill(pygame.Color(\"green\"))
screen.blit(background,(0,0))
looping = True
while looping:
for event in pygame.event.get():
if event.type == pygame.QUIT:
looping = False
elif event.type == pygame.KEYDOWN:
keyName = pygame.key.name(event.key)
print \"key pressed:\",keyName
if event.key == pygame.K_SPACE:
print \"Loading Music\"
pygame.mixer.music.load(\"born.mp3\")
elif event.key == pygame.K_ESCAPE:
looping = False
pygame.display.flip()
如果有任何我可以提供的信息,我们将很乐意为您提供帮助。
解决方法
pyGame基于内部基于线程的SDL。
进行穿线时,打印消息基本上是禁止的。因为通常是由于调度程序片(在SDL中很大)而导致的,所以打印消息会延迟。并非pygame速度慢(在某些情况下,但不是在这种情况下),只是print语句位于单独的事件线程中。
尝试在pygame中执行此操作,它将运行得很好。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。