← Все вопросы

Как показать FPS на экране в pygame, чтобы проверить, не тормозит ли игра?

Задан 15 месяцев назад1к просмотров1 ответ
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 — значит, твоя игра не успевает и реально проседает.

Ваш ответ

, чтобы ответить на вопрос.