29 lines
873 B
C++
29 lines
873 B
C++
#include <iostream>
|
|
#include <chrono>
|
|
|
|
class FPSCounter {
|
|
public:
|
|
FPSCounter() : frameCount(0), lastTime(std::chrono::high_resolution_clock::now()) {}
|
|
|
|
void update() {
|
|
frameCount++;
|
|
auto currentTime = std::chrono::high_resolution_clock::now();
|
|
std::chrono::duration<double> elapsed = currentTime - lastTime;
|
|
|
|
// Aktualizujemy i wypisujemy TYLKO jeśli minęła co najmniej 1 sekunda
|
|
if (elapsed.count() >= 1.0) {
|
|
double fps = frameCount / elapsed.count();
|
|
double msPerFrame = 1000.0 / fps;
|
|
|
|
std::cout << "FPS: " << (int)fps
|
|
<< " | Czas klatki: " << msPerFrame << " ms" << std::endl;
|
|
|
|
frameCount = 0;
|
|
lastTime = currentTime;
|
|
}
|
|
}
|
|
|
|
private:
|
|
int frameCount;
|
|
std::chrono::time_point<std::chrono::high_resolution_clock> lastTime;
|
|
}; |