Python 使用pygame显示高分辨率.png图像

Python 使用pygame显示高分辨率.png图像,python,image,pygame,Python,Image,Pygame,我目前正在尝试用pygame开发一个电脑游戏,我想为游戏显示一个背景图像(2D跳跃和跑步) 但是,我注意到在显示全屏背景图像时,帧速率显著下降,超过了特定的窗口大小: Windowsize | Time to blit the image | (~ FPS) 1280x720: 0.029s (~32 FPS) 1366x768: 0.031s (~29 FPS) 1600x900: 0.042s (~22 FPS) 1920x1080: 0.062s (~15 FPS) 有没有一种不

我目前正在尝试用pygame开发一个电脑游戏,我想为游戏显示一个背景图像(2D跳跃和跑步)

但是,我注意到在显示全屏背景图像时,帧速率显著下降,超过了特定的窗口大小:

Windowsize | Time to blit the image | (~ FPS)

1280x720:  0.029s (~32 FPS)
1366x768:  0.031s (~29 FPS)
1600x900:  0.042s (~22 FPS)
1920x1080: 0.062s (~15 FPS)
有没有一种不同的、更有效的方式来快速播放图像?我不想把游戏限制在1366x768或更小的窗口大小上

我试着使用一个KB大小较小的图像,并尝试用1/4大小的图像来覆盖屏幕,但时间保持不变

游戏在pygame屏幕上运行,因此我不能使用Tkinter等的任何功能(因为它们需要Tkinter曲面)

目前我正在使用pygame的以下功能:

# Once at the beginning
screen = pygame.display.set_mode((screenWidth_X, screenHeight_Y))

# Every frame
screen.blit(background_Image, (0,0))
如有任何帮助/建议,将不胜感激

Per的评论,使用
.convert()
.convert\u alpha
是huuuuge性能的提升

# From originally:
1920x1080: 0.062s (~15 FPS)
# To:
1920x1080: 0.002s (~140 FPS) 

加载图像后,是否调用了convert方法(
background\u image=background\u image.convert()
)?这应该会有所不同。没有,但我明天会试试!谢谢你的提示!对未转换的表面进行闪电切割确实会降低性能。始终使用
convert
convert_alpha
方法。