qtdeclarative/tests/benchmarks/quick/accessibility/data
Jan Arve Sæther f4605fbf00 Only send a LocationChanged event for the item where geometry changed
Previously, if an item changed geometry and it wasn't accessible, it
would find the closest accessible ancestor, and send an accessible
LocationChanged event to the closest accessible ancestor (but the
accessible ancestor didn't move, so it was pointless).

This also improves performance in some cases because there is no point
in traversing upwards in the hierarchy to find an accessible ancestor.
Therefore, the change contains both a benchmark and an autotest.

Performance summary
-------------------
moveItem(isActive) is 38.4x faster  (72/8)/(60/256)

Details
-------
Config: Using QtTest library 6.9.0, Qt 6.9.0 (arm64-little_endian-lp64
        shared (dynamic) release build; by Apple LLVM 15.0.0
        (clang-1500.3.9.4)), macos 14.4

Without patch:
RESULT : tst_bench_accessibility::moveItem():"isActive":
     9.0 msecs per iteration (total: 72, iterations: 8)

With patch:
RESULT : tst_bench_accessibility::moveItem():"isActive":
     0.23 msecs per iteration (total: 60, iterations: 256)

Pick-to: 6.8
Change-Id: I1e3712ff043193705335a0e02ccbe876c915d8a4
Reviewed-by: Volker Hilsheimer <volker.hilsheimer@qt.io>
2024-07-12 16:17:13 +02:00
..
moveItem.qml Only send a LocationChanged event for the item where geometry changed 2024-07-12 16:17:13 +02:00