1

我们的目标系统有一个较旧的图形芯片,只支持 OpenGL 1.4。但是,对于高扫描速率 32K 点示波器类型的绘图,我们确实需要硬件加速。QCustomPlot 和 QWT 都使用需要 OpenGL ES 2.0 或更高版本的 QPainter 类。有没有简单的方法解决这个问题?或者,有谁知道我们可以使用的另一个绘图工具可以在 OpenGL 1.4 上加速?我们的目标是在 Windows XP SP3 上运行 QT 5.0。

for (int i=0; i<SCAN_SIZE; i++)
    m_plotQmap->insert(i,QCPData(i,lScanData[scan_dataset][i]));
ui->myPlot->graph(0)->setData(m_plotQmap,true);
ui->myPlot->replot();
4

1 回答 1

2

对于具有 OpenGL 1.4 的目标系统,我建议使用 Qt4。当不满足最低要求时,使用 Qt5 没有任何意义。但是使用 Qt4,您的平台应该一切正常。

除了 OpenGL,Qt4/X11 的组合还提供硬件加速图形(Qt5/X11 不是!),但就像您在 Windows 上一样...

Qwt 6.1 引入了 QwtPlotGLCanvas,您可以在其中使用 OpenGL 绘制引擎之一进行渲染。在 refreshtest 示例中,您可以检查 OpenGL 的效果并将其与软件渲染器进行比较(将 Updates 设置为 0 )。

另请查看 Qwt 的示波器示例,该示例显示了增量绘制曲线的实现。当可以通过这种方式实现绘图时,您可以获得非常高的刷新率 - 即使使用软件渲染器也是如此。

于 2013-09-02T06:28:43.793 回答