parent
4952a143c3
commit
979000e340
@ -0,0 +1,74 @@
|
|||||||
|
#include <QDebug>
|
||||||
|
|
||||||
|
#include "fpscounter.h"
|
||||||
|
|
||||||
|
FpsCounter::FpsCounter()
|
||||||
|
{
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
FpsCounter::~FpsCounter()
|
||||||
|
{
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
void FpsCounter::fpsCounterInit()
|
||||||
|
{
|
||||||
|
m_started = false;
|
||||||
|
// no need to initialize the other fields, they are meaningful only when
|
||||||
|
// started is true
|
||||||
|
}
|
||||||
|
|
||||||
|
void FpsCounter::fpsCounterStart()
|
||||||
|
{
|
||||||
|
m_started = true;
|
||||||
|
m_timeCounter.start();
|
||||||
|
m_rendered = 0;
|
||||||
|
#ifdef SKIP_FRAMES
|
||||||
|
m_skipped = 0;
|
||||||
|
#endif
|
||||||
|
}
|
||||||
|
|
||||||
|
void FpsCounter::fpsCounterStop()
|
||||||
|
{
|
||||||
|
m_started = false;
|
||||||
|
}
|
||||||
|
|
||||||
|
void FpsCounter::fpsCounterAddRenderedFrame()
|
||||||
|
{
|
||||||
|
checkExpired();
|
||||||
|
m_rendered++;
|
||||||
|
}
|
||||||
|
|
||||||
|
void FpsCounter::checkExpired()
|
||||||
|
{
|
||||||
|
if (m_timeCounter.elapsed() >= 1000) {
|
||||||
|
displayFps();
|
||||||
|
m_timeCounter.restart();
|
||||||
|
m_rendered = 0;
|
||||||
|
#ifdef SKIP_FRAMES
|
||||||
|
m_skipped = 0;
|
||||||
|
#endif
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
void FpsCounter::displayFps()
|
||||||
|
{
|
||||||
|
#ifdef SKIP_FRAMES
|
||||||
|
if (m_skipped) {
|
||||||
|
//qInfo << "%d fps (+%d frames skipped)", m_rendered, m_skipped);
|
||||||
|
} else {
|
||||||
|
#endif
|
||||||
|
//qInfo m_rendered << "fps";
|
||||||
|
#ifdef SKIP_FRAMES
|
||||||
|
}
|
||||||
|
#endif
|
||||||
|
}
|
||||||
|
|
||||||
|
#ifdef SKIP_FRAMES
|
||||||
|
void FpsCounter::fpsCounterAddSkippedFrame()
|
||||||
|
{
|
||||||
|
checkExpired();
|
||||||
|
m_skipped++;
|
||||||
|
}
|
||||||
|
#endif
|
||||||
@ -0,0 +1,32 @@
|
|||||||
|
#ifndef FPSCOUNTER_H
|
||||||
|
#define FPSCOUNTER_H
|
||||||
|
#include <QTime>
|
||||||
|
|
||||||
|
class FpsCounter
|
||||||
|
{
|
||||||
|
public:
|
||||||
|
FpsCounter();
|
||||||
|
virtual ~FpsCounter();
|
||||||
|
|
||||||
|
void fpsCounterInit();
|
||||||
|
void fpsCounterStart();
|
||||||
|
void fpsCounterStop();
|
||||||
|
void fpsCounterAddRenderedFrame();
|
||||||
|
#ifdef SKIP_FRAMES
|
||||||
|
void fpsCounterAddSkippedFrame();
|
||||||
|
#endif
|
||||||
|
|
||||||
|
private:
|
||||||
|
void checkExpired();
|
||||||
|
void displayFps();
|
||||||
|
|
||||||
|
private:
|
||||||
|
bool m_started = false;
|
||||||
|
QTime m_timeCounter;
|
||||||
|
quint32 m_rendered = 0;
|
||||||
|
#ifdef SKIP_FRAMES
|
||||||
|
quint32 m_skipped = 0;
|
||||||
|
#endif
|
||||||
|
};
|
||||||
|
|
||||||
|
#endif // FPSCOUNTER_H
|
||||||
Loading…
Reference in new issue