Congratulations to our 2022 Qt Champions!

Converting QtChart build to QOpenGL type build advice

  • Hello!
    I have been working on a massive project, and I am in need of some more advice. Currently I have about 50 files and 10,000 lines of code that are all built revolving around QtCharts to plot a spectrogram that receives about 1.4 million data points. While this program's analog runs well in C#, the C++ implementation utilizing QtCharts is experience serious performance issues.

    I have tried a multitude of possible solutions, but to no avail, and I have come to the conclusion that the current bottleneck is QtCharts. Unfortunately a significant amount of the project is tied to QtCharts, so the conversion away from QtCharts will require a complete overhaul.

    So, my question for anyone that can help me is; what the best way to go about converting QtChart functions and features to allow for OpenGL to take over?

    I know this is hard to advise without the code in front of you, but the project is locked IP by my company. If anyone can give me general advice on how to get started with this, or if anyone has experience with something even remotely similar to this, that would be greatly appreciated.

    Assume for all intents and purposes that I have read the majority of Qt's documentation on the subject.

    The over view of my project that I can provide is that I currently have a MainWindow with a QObject made with QtCharts that is drawn upon by many other functions to plot lines and coordinates. I am struggling with figuring out how to translate a QtChart QObject into something like a QOpenGLWidget or QSurface. Literally any advice will be greatly appreciated. Many thanks.

  • Lifetime Qt Champion


    Can you explain how is your project so tied up to QtCharts ?
    That would allow to come up with better ideas on how to improve your situation.

  • @SGaist Basically the person who wrote this project before me initially designed the project around QML, but that was too limiting, so they rehauled the project into C++ using QtCharts. We now believe the issue with QtCharts is primarily because it has many options that are private.

    I am looking into using Qwt or QGraphics view to implement my spectrogram, but am unsure which option will provide a better performance view, or even if they are exclusive. Do you happen to have any thoughts regarding that?

  • Lifetime Qt Champion

    Qwt will likely give you the best performance.

Log in to reply