В настоящее время я работаю над клоном Super Mario Bros. И когда я запускаю display.flip () или diplay.update (), мой fps ограничивается примерно 20 кадрами в секунду.
Даже пустой основной цикл с помощью только clock.tick (60) и update () без прорисовки ничего не дает того же результата.
Когда я удаляю display.update (), я получаю 60 кадров в секунду, когда моя игра выполняет все вычисления.
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()
Чем больше размер экрана, тем ниже частота кадров.