Uploaded image for project: 'Qt'
  1. Qt
  2. QTBUG-84722

QtWebEngine Qt6 rendering changes proposal

    XMLWordPrintable

Details

    • Task
    • Resolution: Done
    • P2: Important
    • None
    • None
    • WebEngine
    • None

    Description

      With Qt6 we are going to use only viz compositor, due to growing complexity and moving away from ubercompositor toward surface aggregation model.

      To pimp up performance now we could remodel our 'view' class.

      In qt core we introduce QWebEngineWindow , this class supports direct and indirect offscreen rendering with viz. Direct case is useful for full screen window on embedded devices (or electron type of applications) which runs HTML5 interface, we could give full control to chromium.

      QWebEngineWindow::setRenderTarget switches viz to offscreen rendering to given fbo, this can be reused in widget stack simply by creating not visible offscreen QWebEnigneWindow setting render target to fbo , which is later used by qt opengl backingstore (this mirrors QQuickWidget / QQuickWindow design). This way we drop dependence on declarative in webenignewidgets. Moreover this provides API for offscreen rendering.

      Offscreen rendering support is also required for eglfs if application needs extra platform windows which are then composited with openglcompositor, therefore there should be the way to set offscreen rendering for QWebEnigneWindow in case of specific qpa settings, or we simply say use widget/qml stack in that case which always uses offscreen rendering.

      Direct rendering for widgets (not for embedded) is also supported with QWidget::createWindowContainer(qwebenginewidnow)

      For qml stack maybe is worth to investigate QQuickWindow::before/afterRendering to do direct rendering, which could improve scrolling.

      For widget stack we could also provide specialized tab widget to avoid creating opengl contexts and fbos for every single tab even tough one is visible.

      At last but not least we could also do foreign windows so we could do out of process viz

      Attachments

        No reviews matched the request. Check your Options in the drop-down menu of this sections header.

        Activity

          People

            qt_webengine_team Qt WebEngine Team
            michal Michal Klocek
            Votes:
            2 Vote for this issue
            Watchers:
            6 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved:

              Gerrit Reviews

                There are no open Gerrit changes