Материал из Скретч Вики
(перенаправлено с «FPS на скретч»)
FPS (frames per second) — значение, показывающее количество кадров в секунду, текущую частоту кадров.
Сам Скретч не показывает частоту кадров, по этому скретчерам приходиться определять FPS самостоятельно.
Определение переменной FPS
В большинстве случаев для определения FPS используется таймер.
Способ со сбрасыванием таймера
В случае, если в вашем проекте таймер нигде не используется, то вы можете использовать этот способ.
Код
когда щёлкнут по зелёному флагу сбросить таймер повторять всегда задать [FPS v] значение ((1) / (таймер)) сбросить таймер
Как это работает
![]() |
Внимание! Данный способ будет работать, только если нигде в коде не будет использоваться таймер. Если же таймер где-то используется, проект будет работать некорректно. |
При нажатии на зелёный флаг, запускается бесконечный цикл. В нём постоянно сбрасывается твймер. Это позволяет нам перед сбросом определить, сколько времени уходит на 1 кадр. На единицу делится значение таймера, и это будет примерный FPS. Далее таймер сбрасывается.
Способ без сбрасывания таймера
Если вам нужно, чтобы таймер не сбрасывался, можете использовать этот способ.
Код
когда щёлкнут по зелёному флагу сбросить таймер задать [Предыдущий таймер v] значение (0) повторять всегда задать [FPS v] значение ((1) / ((таймер) - (Предыдущий таймер))) задать [Предыдущий таймер v] значение (таймер)
Как это работает
В данном случае всё работает примерно также, что и в предыдущем способе, за исключением того, что для определения времени, затраченного на 1 кадр, нельзя использовать только таймер, вместо этого используется вычитание значения таймера на предыдущем кадре из текущего таймера.
Применение
Определение FPS может быть полезно для отладки проекта (нахождения в нём ошибок и оптимизации). Также можно понизить качество графики проекта для пользователя, если у него FPS слишком низкий, то есть его устройство плохо справляется с отрисовыванием хорошей графики.