![eb58c4c0008e867fb012d0febe5cbb07.png](https://i-blog.csdnimg.cn/blog_migrate/4107224636f7796dc813bc8c584f16bd.jpeg)
使用OpenGL加速
在图表中的数据点很多的时候,比如有多个图表,每个图表的的数据点达到几万甚至到10万的时候,不使用GPU加速,渲染速度明显变慢,QChart提供了使用OpenGL进行图表渲染加速,在下面的测试中,我们可以看到,使用 OpenGL进行渲染加速,图表渲染的FPS(每秒帧率)会有数量级的提高。
在QChart中,使用图表序列类的方法setUseOpenGL()可以很方便地打开和关闭OpenGL加速功能。
OpenGL加速示例
示例说明如何为QLineSeries和QScatterSeries启用OpenGL加速。完整代码如下:
import sys,mathfrom PyQt5.QtCore import Qt, QObject, QTimer,QPointF, QElapsedTimer, QRandomGeneratorfrom PyQt5.QtGui import QPainter, QPen, QBrush, QColorfrom PyQt5.QtWidgets import QApplication, QMainWindow, QGraphicsView, QLabelfrom PyQt5.QtChart import QChart, QChartView,QLineSeries, QValueAxis, QXYSeries, QScatterSeries class DataSource(QObject): frameCount = 0 def __init__(self, parent = None): super(DataSource, self).__init__(parent) self.index = -1 self.data = [] self.seriesList = [] self.fpsTimer = QElapsedTimer() self.dataUpdater = QTimer() self.