[Development] Qt Charts poor dynamic/resolution with OpenGL

Miikka Heikkinen miikka.heikkinen at qt.io
Wed Nov 9 10:04:23 CET 2016


Hi.

I’m Qt Charts maintainer. It is true that Charts have been on back burner for a good while now, as I’ve been assigned to other tasks, but it’s not abandoned by any means. We do welcome third party contributions and I’m certainly willing to discuss the design and review any contributions.

On this issue, simple fix for resolution would be to handle normal value axes like log value axes in GLXYSeriesDataManager::setPoints(). It uses domain->calculateGeometryPoints() function to resolve the geometry points for logarithmic domains on CPU side and feeds those to shader instead of relying in shader to resolve the geometry like it does in case of regular value axes. I suspect this would cause a significant performance impact with large data sets, though, so that’s why it wasn’t implemented like that to begin with.

An obvious way to improve performance with large data sets would be to prune the off-screen points early, but given the fact that charts makes no assumptions about data being ordered on any axis makes this bit tricky. Maybe keeping track if the data is ordered as it’s appended to the set and do the pruning if it is ordered would be a feasible solution.

-Miikka

From: Development [mailto:development-bounces+miikka.heikkinen=qt.io at qt-project.org] On Behalf Of Jeandet Alexis
Sent: 8. marraskuuta 2016 17:33
To: development at qt-project.org
Subject: Re: [Development] Qt Charts poor dynamic/resolution with OpenGL

Hi Uwe,
Le mardi 08 novembre 2016 à 15:06 +0000, Uwe Rathmann a écrit :
On Tue, 08 Nov 2016 13:30:45 +0100, Jeandet Alexis wrote:

Our goal is to improve QtCharts to be able to use it in our scientific
softwares. So we need to improve the current dynamic with OpenGL and/or
improve performances of non OpenGL plots.

Have you ever considered to use a 3rd party library like Qwt or
QCustomPlot. Both packages are available since years and focus on
scientific plots.
Indeed I do use QCP on others projects. I would say that QCP is really nice, its downsampling method is efficient. For QWT I only checked in the past and I had the feeling that by default you had to do many things before you get a plot.
On QCP, the main drawbacks are the usage of QMap on pre 2.0 revisions, the amalgamate on sources(insane for compiler).
We made the choice to use QtCharts for this new software because it is a Qt module which reduce dependencies and its features are not that far from what we want.
We mainly focus on data browsing and plot interactions where QtCharts appears to be good. That said QWT and QCP are still good candidates too.

Being the maintainer of the Qwt package I'm some sort of a biased, but my
impression is, that the Qt Chart package has never reached a state being
even close to other solutions. And as I never saw anyone responding to
related questions on the mailing lists it also does not look like being a
very actively maintained module.
You are right but I want to give it a chance since it got opened recently. I don't know why it got opened. I don't know if it is considered as mature, is it just a toy? Is it abandoned by Digia/Qt?
Personally I don't know many data visualisation applications where QtCharts would work as-is, as soon as you plot time stamped data you may quickly fall in our trap.
On the other hand we can see activity on the repository.
So my hope is to get a decent and official Qt plotting module in the future.

ciao,
Uwe

_______________________________________________
Development mailing list
Development at qt-project.org<mailto:Development at qt-project.org>
http://lists.qt-project.org/mailman/listinfo/development
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.qt-project.org/pipermail/development/attachments/20161109/eebbd12d/attachment.html>


More information about the Development mailing list