首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >pygame.display.flip()大大减缓了游戏的速度

问pygame.display.flip()大大减缓了游戏的速度
EN

Stack Overflow用户
提问于 2018-06-30 13:00:33
回答 1查看 322关注 0票数 0

我目前正在做一个超级马里奥兄弟的克隆,当我运行pygame.display.flip()或pygame.display.update()时,我的fps被限制在20 fps左右。

即使是一个空的主循环,只有一个clock.tick(60)和update(),没有任何绘制,结果也是一样。

当我删除pygame.display.update(),我得到60个fps与我的游戏运行所有的计算。

代码语言:javascript
复制
import pygame as pg

class Main():
        
    def __init__(self):
        pg.init()
        self.screen = pg.display.set_mode((1000, 1000))
        self.clock = pg.time.Clock()

    def main_loop(self):
        while True:
            self.clock.tick(60)
            print(self.clock.get_fps())
            pg.display.flip()

main = Main()
if __name__ == '__main__':
    main.main_loop()

屏幕尺寸越大,帧率就越低。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2021-02-27 10:44:52

屏幕尺寸越大,帧率就越低。

当然,如果你没有超级快的计算机,可以考虑缩小窗口的大小。

而且,我认为1000x1000对于大多数屏幕来说都很大.因此,尝试缩小游戏的大小,例如900x500或640x480,然后使用pygame.SCALED标记加上pygame.FULLSCREEN,将游戏窗口调整到当前屏幕大小。

我在用..。游戏1.9.3.

考虑一下更新您的pygame版本--当我将pygame 1.9.6更新到pygame 2.0.1时,我的框架就少了一倍。(+ pygame 2.0.0和最新版本修复了大量的bug,并增加了大量新的可能性)

但是如果你想要高分辨率和高速度,我认为pygame是不够的。如果您想要创建游戏一般,考虑使用Unity例如。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/51115153

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档