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

Calling QObject methods from QML (still) incurs useless overhead

XMLWordPrintable

    • f9271771c (dev), 4f1b9156a (dev)

      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.

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

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

              Created:
              Updated:
              Resolved:

                There are no open Gerrit changes