diff options
author | Miikka Heikkinen <miikka.heikkinen@digia.com> | 2013-09-03 13:26:07 +0300 |
---|---|---|
committer | Miikka Heikkinen <miikka.heikkinen@digia.com> | 2013-09-03 14:06:03 +0300 |
commit | 58979c740aa4814692e6555840e2fe4d3913561b (patch) | |
tree | b5b50b44011fa49788d84808c4d4e25db46599c4 /src/datavis3d/engine/abstract3dcontroller_p.h | |
parent | 5eedaa018b6a1b1527b523d3018ac026af29eb33 (diff) |
Only render the scene when something changes.
This seems to improve frame rate, too.
Task-number: QTRD-2179
Change-Id: Icb3ddc5ba651ce0982068bcf7ab09c67be183717
Reviewed-by: Miikka Heikkinen <miikka.heikkinen@digia.com>
Diffstat (limited to 'src/datavis3d/engine/abstract3dcontroller_p.h')
-rw-r--r-- | src/datavis3d/engine/abstract3dcontroller_p.h | 16 |
1 files changed, 5 insertions, 11 deletions
diff --git a/src/datavis3d/engine/abstract3dcontroller_p.h b/src/datavis3d/engine/abstract3dcontroller_p.h index 81775f9d..5225c686 100644 --- a/src/datavis3d/engine/abstract3dcontroller_p.h +++ b/src/datavis3d/engine/abstract3dcontroller_p.h @@ -169,6 +169,8 @@ protected: QAbstractDataProxy *m_data; QList<QAbstractDataProxy *> m_dataProxies; + bool m_renderPending; + explicit Abstract3DController(QRect boundRect, QObject *parent = 0); ~Abstract3DController(); @@ -286,23 +288,15 @@ public slots: void handleAxisLabelFormatChanged(const QString &format); signals: - void boundingRectChanged(QRect boundingRect); - void sizeChanged(QRect boundingRect); - void positionChanged(QRect boundingRect); - void zoomLevelChanged(int zoomLevel); - void themeChanged(Theme theme); - void fontChanged(QFont font); // TODO should be handled via axis?? What about font for selection label? void shadowQualityChanged(QDataVis::ShadowQuality quality); - void labelTransparencyChanged(QDataVis::LabelTransparency transparency); - void selectionModeChanged(QDataVis::SelectionMode mode); - void backgroundEnabledChanged(bool enable); - void gridEnabledChanged(bool enable); // TODO: Should be handled via axes? - void meshFileNameChanged(QString fileName); + + void needRender(); protected: virtual QAbstractAxis *createDefaultAxis(QAbstractAxis::AxisOrientation orientation); QValueAxis *createDefaultValueAxis(); QCategoryAxis *createDefaultCategoryAxis(); + void emitNeedRender(); private: void setAxisHelper(QAbstractAxis::AxisOrientation orientation, QAbstractAxis *axis, |