File indexing completed on 2024-04-28 16:49:46
0001 #include "graphicssignalplotterbenchmark.h" 0002 #include "signalplotter/kgraphicssignalplotter.h" 0003 0004 #include <QGraphicsScene> 0005 #include <QGraphicsView> 0006 #include <QRandomGenerator> 0007 #include <QtTestGui> 0008 #include <limits> 0009 0010 void BenchmarkGraphicsSignalPlotter::init() 0011 { 0012 scene = new QGraphicsScene; 0013 view = new QGraphicsView(scene); 0014 s = new KGraphicsSignalPlotter; 0015 scene->addItem(s); 0016 } 0017 void BenchmarkGraphicsSignalPlotter::cleanup() 0018 { 0019 delete view; 0020 delete scene; 0021 } 0022 0023 void BenchmarkGraphicsSignalPlotter::addData() 0024 { 0025 s->addBeam(Qt::blue); 0026 s->addBeam(Qt::green); 0027 s->addBeam(Qt::red); 0028 s->addBeam(Qt::yellow); 0029 s->resize(1000, 500); 0030 view->resize(1010, 510); 0031 view->show(); 0032 s->setMaxAxisTextWidth(5); 0033 QVERIFY(QTest::qWaitForWindowExposed(view)); 0034 0035 auto *generator = QRandomGenerator::global(); 0036 0037 QBENCHMARK { 0038 s->addSample(QList<qreal>() << generator->bounded(10) << generator->bounded(10) << generator->bounded(10) << generator->bounded(10)); 0039 qApp->processEvents(); 0040 } 0041 } 0042 0043 void BenchmarkGraphicsSignalPlotter::addDataWhenHidden() 0044 { 0045 s->addBeam(Qt::blue); 0046 s->addBeam(Qt::green); 0047 s->addBeam(Qt::red); 0048 s->addBeam(Qt::yellow); 0049 auto *generator = QRandomGenerator::global(); 0050 0051 QBENCHMARK { 0052 s->addSample(QList<qreal>() << generator->bounded(10) << generator->bounded(10) << generator->bounded(10) << generator->bounded(10)); 0053 qApp->processEvents(); 0054 } 0055 } 0056 0057 QTEST_MAIN(BenchmarkGraphicsSignalPlotter)