Я начал делать игру и подумал, что у нее частота кадров 60 кадров в секунду. После того, как я нашел способ отображать истинную частоту кадров, я увидел, что на самом деле она составляет порядка 20 кадров в секунду. Я сделал более простую версию программы, которая определенно должна работать со скоростью 60 кадров в секунду, но, к моему удивлению, она также работала со скоростью 20 кадров в секунду. Когда я запустил игру на другом компьютере, она работала со скоростью 60 кадров в секунду, как я и ожидал. Зачем ему работать на одном компьютере со скоростью 20 кадров в секунду, а на другом - 60 кадров в секунду?
Это самая простая версия моей программы:
import pygame as pg
import sys
WIDTH = 800
HEIGHT = 800
FPS = 60
BLUE = (0, 0, 255)
pg.init()
screen = pg.display.set_mode((WIDTH, HEIGHT))
clock = pg.time.Clock()
running = True
while running:
clock.tick(FPS)
for event in pg.event.get():
if event.type == pg.QUIT:
running = False
if event.type == pg.KEYDOWN:
if event.key == pg.K_ESCAPE:
running = False
pg.display.set_caption(str(clock.get_fps()))
screen.fill(BLUE)
pg.display.update()
pg.quit()
sys.exit()