Commit 723c0b27 authored by eric@webkit.org's avatar eric@webkit.org

2010-02-02 Noam Rosenthal <noam.rosenthal@nokia.com>

        Reviewed by Kenneth Rohde Christiansen.

        [Qt] Enable a way to measure FPS in QGVLauncher
        run QGVLauncher with --show-fps to see ongoing fps measurements
        This is not meant as accurate FPS, but rather as a way to find
        improvements/regressions
        https://bugs.webkit.org/show_bug.cgi?id=34450

        * QGVLauncher/main.cpp:
        (MainView::MainView): initialize FPS values
        (MainView::paintEvent): count a painted frame here
        (MainView::printFps): we print the fps with qDebug every 5 seconds.

git-svn-id: svn://svn.chromium.org/blink/trunk@54222 bbb929c8-8fbe-4397-9dbb-9b2b20218538
parent 81da3a8a
2010-02-02 Noam Rosenthal <noam.rosenthal@nokia.com>
Reviewed by Kenneth Rohde Christiansen.
[Qt] Enable a way to measure FPS in QGVLauncher
run QGVLauncher with --show-fps to see ongoing fps measurements
This is not meant as accurate FPS, but rather as a way to find
improvements/regressions
https://bugs.webkit.org/show_bug.cgi?id=34450
* QGVLauncher/main.cpp:
(MainView::MainView): initialize FPS values
(MainView::paintEvent): count a painted frame here
(MainView::printFps): we print the fps with qDebug every 5 seconds.
2010-01-29 Ben Murdoch <benm@google.com> 2010-01-29 Ben Murdoch <benm@google.com>
Reviewed by Dimitri Glazkov. Reviewed by Dimitri Glazkov.
......
...@@ -125,12 +125,22 @@ public: ...@@ -125,12 +125,22 @@ public:
MainView(QWidget* parent) MainView(QWidget* parent)
: QGraphicsView(parent) : QGraphicsView(parent)
, m_mainWidget(0) , m_mainWidget(0)
, m_measureFps(QApplication::instance()->arguments().contains("--show-fps"))
, m_numTotalPaints(0)
, m_numPaintsSinceLastMeasure(0)
{ {
setHorizontalScrollBarPolicy(Qt::ScrollBarAlwaysOff); setHorizontalScrollBarPolicy(Qt::ScrollBarAlwaysOff);
setVerticalScrollBarPolicy(Qt::ScrollBarAlwaysOff); setVerticalScrollBarPolicy(Qt::ScrollBarAlwaysOff);
setFrameShape(QFrame::NoFrame); setFrameShape(QFrame::NoFrame);
setSizePolicy(QSizePolicy::Expanding, QSizePolicy::Expanding); setSizePolicy(QSizePolicy::Expanding, QSizePolicy::Expanding);
if (m_measureFps) {
QTimer* fpsTimer = new QTimer(this);
fpsTimer->setInterval(5000);
m_totalStartTime = m_startTime = QTime::currentTime();
connect(fpsTimer, SIGNAL(timeout()), this, SLOT(printFps()));
fpsTimer->start();
}
} }
void setMainWidget(QGraphicsWidget* widget) void setMainWidget(QGraphicsWidget* widget)
...@@ -149,6 +159,15 @@ public: ...@@ -149,6 +159,15 @@ public:
m_mainWidget->setGeometry(rect); m_mainWidget->setGeometry(rect);
} }
void paintEvent(QPaintEvent* event)
{
QGraphicsView::paintEvent(event);
if (m_measureFps) {
++m_numPaintsSinceLastMeasure;
++m_numTotalPaints;
}
}
void setWaitCursor() void setWaitCursor()
{ {
m_mainWidget->setCursor(Qt::WaitCursor); m_mainWidget->setCursor(Qt::WaitCursor);
...@@ -195,11 +214,29 @@ public slots: ...@@ -195,11 +214,29 @@ public slots:
emit flipRequest(); emit flipRequest();
} }
void printFps()
{
// note that this might have a bug if you measure right around midnight, but we can live with that
QTime now = QTime::currentTime();
int msecs = m_startTime.msecsTo(now);
int totalMsecs = m_totalStartTime.msecsTo(now);
int totalFps = totalMsecs ? m_numTotalPaints * 1000 / totalMsecs : 0;
int curFps = msecs ? m_numPaintsSinceLastMeasure * 1000 / msecs : 0;
qDebug("[FPS] From start: %d, from last paint: %d", totalFps, curFps);
m_startTime = now;
m_numPaintsSinceLastMeasure = 0;
}
signals: signals:
void flipRequest(); void flipRequest();
private: private:
QGraphicsWidget* m_mainWidget; QGraphicsWidget* m_mainWidget;
bool m_measureFps;
int m_numTotalPaints;
int m_numPaintsSinceLastMeasure;
QTime m_startTime;
QTime m_totalStartTime;
}; };
class SharedScene : public QSharedData { class SharedScene : public QSharedData {
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment