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

Calling QObject methods from QML (still) incurs useless overhead

    XMLWordPrintable

Details

    • f9271771c (dev), 4f1b9156a (dev)

    Description

      Currently, all QObject method calls have to run through QObjectMethod::virtualCall(). virtualCall only accepts JavaScript types. There is no virtualCallWithMetaTypes(), yet. This means that when calling a C++ method from AOT-compiled code with perfectly matching arguments we convert all arguments and return values twice.

      So far we can do overload resolution only on JS types and we can only call QQmlV4Function methods with JS types. Everything else, however, should be callable with metaCall formatted arguments. And once the overload resolution is done, we don't have to convert the JS types once again. We can just use the original arguments and call the resulting C++ method.

      Attachments

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

        Activity

          People

            ulherman Ulf Hermann
            ulherman Ulf Hermann
            Votes:
            1 Vote for this issue
            Watchers:
            4 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved:

              Gerrit Reviews

                There are no open Gerrit changes