##// END OF EJS Templates
Update useOpenGL docs...
Miikka Heikkinen -
r2842:ca83b25b67c9
parent child
Show More
@@ -141,7 +141,7 QT_CHARTS_BEGIN_NAMESPACE
141 141 Drawing series with OpenGL is supported only for QLineSeries and QScatterSeries.
142 142 Line series used as edge series for a QAreaSeries cannot use OpenGL acceleration.
143 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 145 QGraphicsView, but are instead drawn on the created QOpenGLWidget.
146 146
147 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 153 The OpenGL acceleration of series drawing is meant for use cases that need fast drawing of
154 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.
156
157 There are the following restrictions imposed on charts and series when using OpenGL
158 acceleration:
155 it lack support for many features available to non-accelerated series:
159 156
160 157 \list
161 158 \li Series animations are not supported for accelerated series.
@@ -165,17 +162,29 QT_CHARTS_BEGIN_NAMESPACE
165 162 Only solid lines and plain scatter dots are supported.
166 163 The scatter dots may be circular or rectangular, depending on the underlying graphics
167 164 hardware and drivers.
168 \li Polar charts are not supported for accelerated series.
165 \li Polar charts do not support accelerated series.
169 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 167 \li Enabling chart drop shadow is not recommended when using accelerated series,
176 168 as that can slow the frame rate down significantly.
177 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 188 The default value is \c{false}.
180 189 */
181 190 /*!
@@ -183,11 +192,37 QT_CHARTS_BEGIN_NAMESPACE
183 192 Specifies whether or not the series is drawn with OpenGL.
184 193
185 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
188 restrictions as those listed in QAbstractSeries::useOpenGL documentation,
189 except there is no restriction about covering the ChartView partially with other
190 items due to different rendering mechanism.
213 \list
214 \li Series animations are not supported for accelerated series.
215 \li Antialiasing is not supported for accelerated series.
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 227 The default value is \c{false}.
193 228 */
General Comments 0
You need to be logged in to leave comments. Login now