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

Custom framebuffer object in QQuickWidget

    XMLWordPrintable

Details

    • Task
    • Resolution: Unresolved
    • Not Evaluated
    • None
    • None
    • Quick: Widget
    • None

    Description

      We would like to be able to replace the framebuffer object for QQuickWidget when the software backend is used. In our case, this is a replacement of the softwareImage type from QImage to QPixmap. Such a trivial change allows you to significantly speed up copying the QQuickWidget buffer to the window buffer, which has a positive effect on the performance of the entire application. So far, we are forced to patch qtdeclarative.

      Probably, it is necessary to explain why we need it. First of all, we set a goal to gradually move away from QtWidgets towards Qml. We cannot completely rewrite the application, but we want to write new interface elements immediately in QtQuick and, if possible, replace existing ones. At the same time, we have a large number of embedded devices and opengl support is not possible on some of them. Basically, these are "ancient" SoC-based devices from STMicroelectronics. The blitter and CPU on these devices work in different address spaces. Although memory management supports virtual mapping from one space to another, making the blitter see the QImage created in the CPU memory space is a rather non-trivial task. Therefore, we use QPixmap and its implementation via the QPA plugin to support hardware acceleration.

      Unfortunately, we cannot expect that these devices will fail by themselves one day in order to use opengl without problems =) But we really want Qml now. It seems that the mentioned opportunity can be useful not only to us.

      Attachments

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

        Activity

          People

            tvete Paul Olav Tvete
            maksimshapovalov Maksim Shapovalov
            Votes:
            0 Vote for this issue
            Watchers:
            1 Start watching this issue

            Dates

              Created:
              Updated:

              Gerrit Reviews

                There are no open Gerrit changes