Important: Please read the Qt Code of Conduct - https://forum.qt.io/topic/113070/qt-code-of-conduct

How to accelerate a widgets rendering?



  • Hello everyone!

    I've been searching for a method to accelerating of WebView (WebEngineView) widget rendering in order to use more faster Web Canvas API in result.
    I've tried "this method":http://doc.qt.digia.com/qq/qq26-openglcanvas.html, but I didn't get the desired result.
    It's my code:
    @#include <QApplication>
    #include <QGraphicsScene>
    #include <QGraphicsView>
    #include <QGLWidget>

    int main(int argv, char **args)
    {
    QApplication app(argv, args);
    QGraphicsScene scene;

    QWebView* webkit = new QWebView;
    webkit->load(QUrl("http://www.smashcat.org/av/canvas_test/"));

    scene.addWidget(webkit);
    QGraphicsView view(&scene);

    view.setViewport(new QGLWidget(QGLFormat(QGL::DoubleBuffer)));
    view.setViewportUpdateMode(QGraphicsView::FullViewportUpdate);
    view.show();
    return app.exec();
    }@

    In result I have low FPS (70 avg) value of web-canvas test in my qt-app.
    A result of the same test in google chrome is 180 avg.
    Furthermore I tried to implement QGLWidget based class. I got the same low FPS.

    Are there any ways to accelerate the widgets rendering?

    P.S. My working PC configuration:
    OS: Ubuntu 14.04 32-bit
    Memory: 1,9 GiB
    Processor: Intel® Core™2 Duo CPU E7600 @ 3.06GHz × 2
    Graphics: Intel® G45/G43 x86/MMX/SSE2



  • You can try to use QGraphicsView::MinimalViewportUpdate instead of FullViewportUpdate, or SmartViewportUpdate.

    You can also try to use the new class QOpenGLWidget of Qt 5.4.



  • First variant hasn't been helped.
    I tried to implement QGLWidget and new version. May be I did something wrong because there are few examples of widgets accelerating with OpenGL.


Log in to reply