← Все вопросы
Как показать FPS на экране в pygame, чтобы проверить, не тормозит ли игра?
4
Хочу видеть прямо в окне, сколько у меня кадров в секунду — вдруг игра проседает. Как получить текущий FPS в pygame и вывести его в угол?
1 ответ
8
✓ Принятый ответ — помог автору
У объекта Clock есть метод get_fps(), который возвращает текущую частоту кадров. Рисуешь её тем же способом, что и счёт — через шрифт:
clock = pygame.time.Clock()
font = pygame.font.SysFont(None, 28)
while running:
# ... события, логика ...
screen.fill((0, 0, 0))
# ... рисуем игру ...
fps = int(clock.get_fps())
fps_text = font.render(f"FPS: {fps}", True, (0, 255, 0))
screen.blit(fps_text, (10, 10))
pygame.display.flip()
clock.tick(60)
get_fps() показывает реальную, измеренную частоту (она усредняется за последние кадры), а tick(60) задаёт желаемый потолок. Если стоит tick(60), а get_fps() показывает 40 — значит, твоя игра не успевает и реально проседает.
Ваш ответ
, чтобы ответить на вопрос.