Отображение FPS (количество кадров в секунду) полезно для мониторинга производительности в играх и других графических приложениях. В этой статье рассмотрим несколько способов вывода FPS на экран.
Содержание
1. Использование встроенных инструментов игровых движков
Unity
В Unity можно добавить отображение FPS с помощью простого скрипта:
- Создайте новый скрипт
FPSCounter.cs
- Добавьте следующий код:
using UnityEngine; using UnityEngine.UI; public class FPSCounter : MonoBehaviour { public Text fpsText; private float deltaTime = 0.0f; void Update() { deltaTime += (Time.unscaledDeltaTime - deltaTime) * 0.1f; float fps = 1.0f / deltaTime; fpsText.text = "FPS: " + Mathf.Round(fps); } } |
Unreal Engine
В Unreal Engine FPS можно включить через консоль:
- Нажмите клавишу
`
(тильда) для открытия консоли - Введите команду:
stat fps
2. Использование сторонних программ
Существует несколько программ для отображения FPS:
- MSI Afterburner с RivaTuner Statistics Server
- Fraps
- NVIDIA GeForce Experience (Alt+Z → Настройки → HUD-макет)
- Steam Overlay (Настройки → В игре → Счетчик FPS)
3. Программный способ через DirectX или OpenGL
Пример кода для вычисления и отображения FPS в приложении на C++ с OpenGL:
#include <string> #include <sstream> int frameCount = 0; float fps = 0; float currentTime = 0; float previousTime = 0; void calculateFPS() { currentTime = glutGet(GLUT_ELAPSED_TIME) / 1000.0f; frameCount++; if (currentTime - previousTime >= 1.0f) { fps = frameCount / (currentTime - previousTime); previousTime = currentTime; frameCount = 0; } std::stringstream ss; ss << "FPS: " << fps; glColor3f(1.0f, 1.0f, 1.0f); glRasterPos2f(-0.95f, 0.9f); glutBitmapString(GLUT_BITMAP_HELVETICA_18, (const unsigned char*)ss.str().c_str()); } |
Заключение
Выбор метода отображения FPS зависит от ваших потребностей. Для игр проще всего использовать встроенные инструменты движка или сторонние программы. Для собственных приложений потребуется реализовать подсчет FPS программно.