Qt Charts which are available only under commercial license was now opensource according to Qt Blog. This is a great oppurtunity for us as our client who is a semiconductor company relies on Qt for his System on Chip (SoC) software. We built performance dashboards for their FPGA boards using Qt Embedded. Performance dashboards need graphs to preset their statistics for CPU, frequency etc. Weuse scatter plot, line chart, bar chart etc.
Why Qt Charts?
The proposal was to develop the performance dashboard with Qt Charts. But later it was changed because of License issues. All their code will be released under GPL and there is no way to include Qt Charts into it. We used QWTPlot library for building graphs. But the issue is, QWTPlot uses CPU to render the graphs and hence the CPU chart for the board is showing high CPU usage. Whereas Qt Charts use GPU to render the graphs which is the goal of building this performance dashboard.
Performance issue with Qt Charts on large dataset
In our initial tests with Qt Charts we noticed a huge performance hit in rendering the graphs. A max of 64K data points are being pushed in a milli second and plotting those values is like a nightmare in Qt Charts. The chart could not able to render even 4K values properly. It was very slow. With QWTPlot we got the performance we expected but at the cost of using the CPU.
Performance improvement with Qt Charts 2.1.0
With this release it seems the issue with large datasets was solved and they provided an example using large datasets.
This is what we are looking for. Hope this will solve our problem in Qt Embedded as well.
The source code for the Qt Charts 2.1.0 was uploaded to codereview.qt-project.org. Now we need to download and compile this for our client’s board. Let’s see how it goes. That’s all for now. I will keep you posted.