我正在使用Qwt在Qt中创建scatterplot。 用户可以选择将几个点集附加到散点图。 但是性能是个问题。 如果总点数超过10 000,那么事情就会变慢。
因此,我正在寻找C / C ++中的算法实现,或者是相对简单的2D LOD算法,该算法计算原始总点集的子集并显示它。
有什么建议吗?
答案 0 :(得分:1)
没有回答你的问题,但我建议在Windows上使用Qwt 6.0时使用Qwt 6.1 - 或者至少启用QwtPlotCurve :: CacheSymbols。
Qwt 6.1重新引入了几项优化措施。 QwtPlotCurve :: FilterPoints以避免绘制重复项(映射到相同位置的点)。 QwtPlotCurve会自动检测符号的缓存,具体取决于运行时环境。
另请参阅Qwt 6.1中的散点图示例,显示100000点的曲线。这可能是使用Qwt实现散点图的最快方法(在不使用QPainter的情况下在QImage中设置RGB多值线程值),但这一点仅适用于将点显示为点。
乌韦