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

Light-weight C++ API for Qt Quick Shapes and Qt Quick Text

XMLWordPrintable

    • Icon: User Story User Story
    • Resolution: Unresolved
    • Icon: P2: Important P2: Important
    • None
    • 6.6
    • None

      There are multiple use cases where we would like to have arbitrary hardware-accelerated shapes and text in a Qt Quick scene without going through QML or re-inventing existing functionality with custom solutions. Users would also probably want to be able to do this, to easily invent their own graphs representations in a data-driven manner which does not involve passing data from C++ and instantiating Qt Quick items which are easily too expensive when showing tens of thousands of items.

      Basically, the only thing we have for users right now is making a QQuickPaintedItem and drawing stuff through QPainter, which quickly becomes too slow when the item grows big because it requires rendering everything in software and then copying the image to the GPU every frame.

      Examples where this could be useful internally:

      1. Qt Charts 2D
      2. Qt Location
      3. Rounded rectangles
      4. Text renderer which uses Qt Quick Shapes for efficiently handling of large font sizes
      5. Canvas API?

      Text already has a private API which can be used, but in order for users to benefit from that we should finally take the step and publish it.

      For Qt Quick Shapes we should expose the building stones and some data structures, as an internal API first and then when it has been validated we can publish it and users can create custom things like rendering large data sets from sensors which change every frame.

        For Gerrit Dashboard: QTBUG-114187
        # Subject Branch Project Status CR V

            esabraha Eskil Abrahamsen Blomfeldt
            esabraha Eskil Abrahamsen Blomfeldt
            Votes:
            1 Vote for this issue
            Watchers:
            8 Start watching this issue

              Created:
              Updated:

                There is 1 open Gerrit change