diff options
author | Armin Berres <armin.berres@basyskom.de> | 2010-08-18 13:32:27 +0200 |
---|---|---|
committer | Tomas Junnonen <tomas.junnonen@nokia.com> | 2010-08-20 17:22:37 +0300 |
commit | 13bf2871410b1dfaa34395a2ca79a484ac1bff08 (patch) | |
tree | f4b4ca4b2c6a1e9257a72b692da9763e086cd84f /benchmarks | |
parent | 75406f4928606d79d23e6d3e1eb0cf1bdb269da8 (diff) |
Changes: add benchmark for initialization of MGLES2Renderer
RevBy: TrustMe
Diffstat (limited to 'benchmarks')
-rw-r--r-- | benchmarks/benchmarks.pro | 1 | ||||
-rw-r--r-- | benchmarks/pt_mgles2renderer/.gitignore | 1 | ||||
-rw-r--r-- | benchmarks/pt_mgles2renderer/pt_mgles2renderer.cpp | 97 | ||||
-rw-r--r-- | benchmarks/pt_mgles2renderer/pt_mgles2renderer.h | 65 | ||||
-rw-r--r-- | benchmarks/pt_mgles2renderer/pt_mgles2renderer.pro | 10 |
5 files changed, 174 insertions, 0 deletions
diff --git a/benchmarks/benchmarks.pro b/benchmarks/benchmarks.pro index 2cdaea19..03d2ddda 100644 --- a/benchmarks/benchmarks.pro +++ b/benchmarks/benchmarks.pro @@ -14,6 +14,7 @@ SUBDIRS = \ pt_mcalendar \ pt_mcomponentcache \ pt_mcomponentdata \ + pt_mgles2renderer \ pt_mimagewidget \ pt_mmenu \ pt_minimalmapplication \ diff --git a/benchmarks/pt_mgles2renderer/.gitignore b/benchmarks/pt_mgles2renderer/.gitignore new file mode 100644 index 00000000..19c6db00 --- /dev/null +++ b/benchmarks/pt_mgles2renderer/.gitignore @@ -0,0 +1 @@ +pt_mgles2renderer diff --git a/benchmarks/pt_mgles2renderer/pt_mgles2renderer.cpp b/benchmarks/pt_mgles2renderer/pt_mgles2renderer.cpp new file mode 100644 index 00000000..bdde9045 --- /dev/null +++ b/benchmarks/pt_mgles2renderer/pt_mgles2renderer.cpp @@ -0,0 +1,97 @@ +/*************************************************************************** +** +** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies). +** All rights reserved. +** Contact: Nokia Corporation (directui@nokia.com) +** +** This file is part of libmeegotouch. +** +** If you have questions regarding the use of this file, please contact +** Nokia at directui@nokia.com. +** +** This library is free software; you can redistribute it and/or +** modify it under the terms of the GNU Lesser General Public +** License version 2.1 as published by the Free Software Foundation +** and appearing in the file LICENSE.LGPL included in the packaging +** of this file. +** +****************************************************************************/ + +#include "pt_mgles2renderer.h" + +#include <mbenchmark.h> +#include <MTheme> +#include <MGLES2Renderer> + +#include <QtTest/QtTest> +#include <QGLWidget> + +void Pt_MGLES2Renderer::initTestCase() +{ + glWidget = new QGLWidget(); + painter = new QPainter(); +} + +void Pt_MGLES2Renderer::cleanupTestCase() +{ + delete glWidget; + delete painter; +} + +void Pt_MGLES2Renderer::firstInstanceCall() +{ + MBENCHMARK_ONCE ( + MGLES2Renderer::instance(glWidget); + ) +} + +void Pt_MGLES2Renderer::activate() +{ + MBENCHMARK_ONCE ( + MGLES2Renderer::activate(glWidget); + ) +} + +void Pt_MGLES2Renderer::secondInstanceCall() +{ + MBENCHMARK_ONCE ( + MGLES2Renderer::instance(); + ) +} + +void Pt_MGLES2Renderer::begin() +{ + MBENCHMARK_ONCE ( + MGLES2Renderer::instance()->begin(painter); + ) +} + +void Pt_MGLES2Renderer::end() +{ + MBENCHMARK_ONCE ( + MGLES2Renderer::instance()->end(); + ) +} + +void Pt_MGLES2Renderer::begin2() +{ + MBENCHMARK_ONCE ( + MGLES2Renderer::instance()->begin(painter); + ) +} + +void Pt_MGLES2Renderer::end2() +{ + MBENCHMARK_ONCE ( + MGLES2Renderer::instance()->end(); + ) +} + +void Pt_MGLES2Renderer::destroy() +{ + MBENCHMARK_ONCE ( + MGLES2Renderer::destroy(glWidget); + ) +} + +QTEST_MAIN(Pt_MGLES2Renderer) diff --git a/benchmarks/pt_mgles2renderer/pt_mgles2renderer.h b/benchmarks/pt_mgles2renderer/pt_mgles2renderer.h new file mode 100644 index 00000000..92ac12b4 --- /dev/null +++ b/benchmarks/pt_mgles2renderer/pt_mgles2renderer.h @@ -0,0 +1,65 @@ +/*************************************************************************** +** +** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies). +** All rights reserved. +** Contact: Nokia Corporation (directui@nokia.com) +** +** This file is part of libmeegotouch. +** +** If you have questions regarding the use of this file, please contact +** Nokia at directui@nokia.com. +** +** This library is free software; you can redistribute it and/or +** modify it under the terms of the GNU Lesser General Public +** License version 2.1 as published by the Free Software Foundation +** and appearing in the file LICENSE.LGPL included in the packaging +** of this file. +** +****************************************************************************/ + +#ifndef Pt_MGLES2Renderer_H +#define Pt_MGLES2Renderer_H + +#include <QObject> + +class QGLWidget; +class MGLES2Renderer; +class QPainter; + +class Pt_MGLES2Renderer : public QObject +{ + Q_OBJECT + +private slots: + void initTestCase(); + void cleanupTestCase(); + + /** + * Benchmark the time needed to create an initialize the renderer. + */ + void firstInstanceCall(); + + void activate(); + + /** + * Renderer is already created. No time should be needed here. + */ + void secondInstanceCall(); + + void begin(); + + void end(); + + // execute begin and end one more time to the time difference between the first and following calls + void begin2(); + + void end2(); + + void destroy(); + +private: + QGLWidget *glWidget; + QPainter *painter; +}; + +#endif diff --git a/benchmarks/pt_mgles2renderer/pt_mgles2renderer.pro b/benchmarks/pt_mgles2renderer/pt_mgles2renderer.pro new file mode 100644 index 00000000..503a85da --- /dev/null +++ b/benchmarks/pt_mgles2renderer/pt_mgles2renderer.pro @@ -0,0 +1,10 @@ +include(../common_top.pri) +INCLUDEPATH += $$MSRCDIR/include +DEPENDPATH += $$INCLUDEPATH +TARGET = pt_mgles2renderer + +QT += opengl + +SOURCES += pt_mgles2renderer.cpp + +HEADERS += pt_mgles2renderer.h |