------------------------後記--------------------
試用了一下第三方繪圖控件QCustomPlot,比QT自帶的QChart強百倍,實測100萬個點都不卡頓,非常流暢,QChart被完全碾壓。
參考我的另一篇博文:《QCustomPlot系列(4)-實時動态曲線》
https://blog.csdn.net/qq_31073871/article/details/90260275
我的QCustomPlot幾篇系列博文: https://blog.csdn.net/qq_31073871/article/category/8935784
對于QChart,一個稍微能緩解卡頓的方案就是:series->setUseOpenGL(true);
經過測試:不使用openGL時,單條曲線3000個點左右就卡的不行了,界面中的其他按鈕幾乎卡的點不了,chart圖形也更新不動了。
使用openGL之後,我測試采集了4萬多個點,顯示依然正常,用滑鼠移動圖像時,略有卡頓,但卡頓很輕可以接受,用滑鼠框選放大也沒問題,界面中的其他按鈕響應很快,跟不使用openGL相比,性能提升太多了。不過也有遺憾,5W個點時,還是卡了。
在開啟openGl之後,有2點缺憾:
1、X軸隻能使用原生資料軸QValueAxis,X軸無法使用時間軸QDateTimeAxis,我實測發現,采用時間軸的點,在開啟OpenGL之後,曲線無法顯示。
2、性能提升有限,也就提升了10倍,很多時候,4萬個點時遠遠滿足不了項目需求的,趁早放棄QChart才是正道。