我正在用 python 编写一个简单的程序,它通过串行端口接收数据并更新屏幕。
因为我希望这个程序在它运行的任何计算机上看起来都一样,而且它需要全屏,所以我想我想在一个640、480的小窗口中绘制所有内容,然后将其缩放到一个全屏窗口我更新框架的时间。
这使我可以将文本等的所有偏移量保持相同。事实证明这真的很慢。
以下是代码的重要部分:
window = pygame.display.set_mode((1920, 1080),pygame.FULLSCREEN)
screenPrescaled=pygame.Surface((640,480))
clock=pygame.time.Clock()
while iterations<400:
#Blit all the stuff to the prescaled surface here
screenPostscaled=pygame.transform.scale(screenPrescaled,(1920, 1080))
window.blit(screenPostscaled,(0,0))
pygame.display.flip()
iterations+=1
clock.tick(40)
这比40fps
.
屏幕上的所有内容都是文本或线条,没有加载任何图像。我怀疑我在做一些愚蠢的事情。
我知道我只能更新“脏矩形”,但我想知道我是否遗漏了一些更基本的东西。
提前致谢!