带有大数据的 QAreaSeries 的 QChart 非常慢

问题描述

我正在玩 QCharts(使用面积图示例作为模板)。

我正在绘制每个系列中包含 10000 个点的面积图,我发现它很慢,窗口出现 30 秒,调整窗口大小导致进程挂起,无法用于此数据集。任何想法这里可能有什么问题?我已经看到禁用抗锯齿可能会有所帮助,但它没有。

我有以下代码


#include <QtWidgets/QApplication>
#include <QtWidgets/QMainWindow>
#include <QtCharts/QChartView>
#include <QtCharts/QLineSeries>
#include <QtCharts/QAreaSeries>
#include <QRandomGenerator>

#include <QDateTime>
#include <QtCharts/QHXYModelMapper>
#include <QTimer>

#include "boost/range/irange.hpp"

QT_CHARTS_USE_NAMESPACE


int main(int argc,char *argv[])
{
    QApplication a(argc,argv);

    auto *upper = new QLineSeries;
    auto *lower = new QLineSeries;
    auto *generator = QRandomGenerator::global();

    const auto maxSamples = 10000;

    for(auto x : boost::irange(0,maxSamples))
    {
        lower->append(QPointF(x,0));
        upper->append(QPointF(x,generator->bounded(0,100)));
    }

    auto *series = new QAreaSeries(upper,lower);

    QChart *chart = new QChart();
    chart->addSeries(series);
    chart->createDefaultAxes();
    chart->legend()->setVisible(false);

    chart->axisY(series)->setRange(0,100);

    QChartView *chartView = new QChartView(chart);
    //chartView->setRenderHint(QPainter::Antialiasing);

    QMainWindow window;
    window.setCentralWidget(chartView);
    window.resize(800,600);
    window.show();

    return a.exec();
}


有什么想法可能是这里的问题吗?

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)

相关问答

错误1:Request method ‘DELETE‘ not supported 错误还原:...
错误1:启动docker镜像时报错:Error response from daemon:...
错误1:private field ‘xxx‘ is never assigned 按Alt...
报错如下,通过源不能下载,最后警告pip需升级版本 Requirem...