@@ -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. |
|
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 |
|
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 |
|
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