##// END OF EJS Templates
Update useOpenGL docs...
Miikka Heikkinen -
r2842:ca83b25b67c9
parent child
Show More
@@ -141,7 +141,7 QT_CHARTS_BEGIN_NAMESPACE
141 Drawing series with OpenGL is supported only for QLineSeries and QScatterSeries.
141 Drawing series with OpenGL is supported only for QLineSeries and QScatterSeries.
142 Line series used as edge series for a QAreaSeries cannot use OpenGL acceleration.
142 Line series used as edge series for a QAreaSeries cannot use OpenGL acceleration.
143 When a chart contains any series that are drawn with OpenGL, a transparent QOpenGLWidget
143 When a chart contains any series that are drawn with OpenGL, a transparent QOpenGLWidget
144 is created on top of the chart plot area. Specified series are not drawn on the underlying
144 is created on top of the chart plot area. The accelerated series are not drawn on the underlying
145 QGraphicsView, but are instead drawn on the created QOpenGLWidget.
145 QGraphicsView, but are instead drawn on the created QOpenGLWidget.
146
146
147 Performance gained from using OpenGL to accelerate series drawing depends on the underlying
147 Performance gained from using OpenGL to accelerate series drawing depends on the underlying
@@ -152,10 +152,7 QT_CHARTS_BEGIN_NAMESPACE
152
152
153 The OpenGL acceleration of series drawing is meant for use cases that need fast drawing of
153 The OpenGL acceleration of series drawing is meant for use cases that need fast drawing of
154 large numbers of points. It is optimized for efficiency, and therefore the series using
154 large numbers of points. It is optimized for efficiency, and therefore the series using
155 it lack support for some features available to non-accelerated series.
155 it lack support for many features available to non-accelerated series:
156
157 There are the following restrictions imposed on charts and series when using OpenGL
158 acceleration:
159
156
160 \list
157 \list
161 \li Series animations are not supported for accelerated series.
158 \li Series animations are not supported for accelerated series.
@@ -165,17 +162,29 QT_CHARTS_BEGIN_NAMESPACE
165 Only solid lines and plain scatter dots are supported.
162 Only solid lines and plain scatter dots are supported.
166 The scatter dots may be circular or rectangular, depending on the underlying graphics
163 The scatter dots may be circular or rectangular, depending on the underlying graphics
167 hardware and drivers.
164 hardware and drivers.
168 \li Polar charts are not supported for accelerated series.
165 \li Polar charts do not support accelerated series.
169 \li Mouse events are not supported for accelerated series.
166 \li Mouse events are not supported for accelerated series.
170 \li Since the accelerated series are drawn on top of the entire graphics view, they get drawn
171 on top of any other graphics items that you may have on top chart in the same scene.
172 \li To enable QOpenGLWidget to be partially transparent, it needs to be stacked on top of
173 all other widgets. This means you cannot have other widgets partially covering the
174 chart.
175 \li Enabling chart drop shadow is not recommended when using accelerated series,
167 \li Enabling chart drop shadow is not recommended when using accelerated series,
176 as that can slow the frame rate down significantly.
168 as that can slow the frame rate down significantly.
177 \endlist
169 \endlist
178
170
171 These additional restrictions stem from the fact that the accelerated series is drawn on a
172 separate widget on top of the chart:
173
174 \list
175 \li If you draw any graphics items on top of a chart containing an accelerated series,
176 the accelerated series is drawn over those items.
177 \li To enable QOpenGLWidget to be partially transparent, it needs to be stacked on top of
178 all other widgets. This means you cannot have other widgets partially covering the
179 chart when using accelerated series.
180 \li Accelerated series are not supported for use cases where the graphics scene has more than
181 one graphics view attached to it.
182 \li Accelerated series are not supported for use cases where the chart doesn't fill the entire
183 graphics view or has non-default geometry. For example, scrolling the view with scroll
184 bars or adding transformations to the graphics view cause the accelerated series to
185 be drawn in incorrect position related to the chart.
186 \endlist
187
179 The default value is \c{false}.
188 The default value is \c{false}.
180 */
189 */
181 /*!
190 /*!
@@ -183,11 +192,37 QT_CHARTS_BEGIN_NAMESPACE
183 Specifies whether or not the series is drawn with OpenGL.
192 Specifies whether or not the series is drawn with OpenGL.
184
193
185 Drawing series with OpenGL is supported only for LineSeries and ScatterSeries.
194 Drawing series with OpenGL is supported only for LineSeries and ScatterSeries.
195 Line series used as edge series for a AreaSeries cannot use OpenGL acceleration.
196 When a chart contains any series that are drawn with OpenGL, an additional transparent child
197 node is created for the ChartView node. The accelerated series are not drawn on the
198 ChartView node, but are instead drawn on the child node.
199
200 Performance gained from using OpenGL to accelerate series drawing depends on the underlying
201 hardware, but in most cases it is significant. For example, on a standard desktop computer,
202 enabling OpenGL acceleration for a series typically allows rendering at least hundred times
203 more points without reduction on the frame rate.
204 Chart size also has less effect on the frame rate.
205 The biggest performance sink when rendering ChartView is rendering and uploading the underlying
206 chart texture. If the underlying chart itself is not changing rapidly, significant extra
207 performance is gained from not needing to regenerate the chart texture for each frame.
208
209 The OpenGL acceleration of series drawing is meant for use cases that need fast drawing of
210 large numbers of points. It is optimized for efficiency, and therefore the series using
211 it lack support for many features available to non-accelerated series:
186
212
187 For more details, see QAbstractSeries::useOpenGL documentation. QML applications have similar
213 \list
188 restrictions as those listed in QAbstractSeries::useOpenGL documentation,
214 \li Series animations are not supported for accelerated series.
189 except there is no restriction about covering the ChartView partially with other
215 \li Antialiasing is not supported for accelerated series.
190 items due to different rendering mechanism.
216 \li Point labels are not supported for accelerated series.
217 \li Marker shapes are ignored for accelerated series.
218 Only plain scatter dots are supported.
219 The scatter dots may be circular or rectangular, depending on the underlying graphics
220 hardware and drivers.
221 \li Polar charts do not support accelerated series.
222 \li Mouse events are not supported for accelerated series.
223 \li Enabling chart drop shadow is not recommended when using accelerated series,
224 as that can slow the frame rate down significantly.
225 \endlist
191
226
192 The default value is \c{false}.
227 The default value is \c{false}.
193 */
228 */
General Comments 0
You need to be logged in to leave comments. Login now