aboutsummaryrefslogtreecommitdiffstats
path: root/src/quick/items/context2d/qquickcanvasitem.cpp
diff options
context:
space:
mode:
authorGunnar Sletta <gunnar@sletta.org>2016-08-23 12:38:14 +0200
committerGunnar Sletta <gunnar@sletta.org>2016-10-12 18:12:28 +0000
commitae80962806f44fc9f58de14d62229771b836cb93 (patch)
treee73a36fb943640a66e14c15a3582265ebbe9e306 /src/quick/items/context2d/qquickcanvasitem.cpp
parentebb8e81050b40645f0e80f0ec59773790928df75 (diff)
Redo animator internals
The animators have suffered from crashes at runtime and instability during testing which have led them to not live up to their potential. This change brings some new concepts to try to make the situation a bit better: Firstly, the ownership of the render thread animation job is maintained using a QSharedPointer, greatly simplifying the management of that object. For the most part it will be deleted on the render thread, but if not, then that is ok too. Secondly, the proxy job is no longer tied to the animation controller. It simply starts the job on the render thread and polls to see if it has completed and only then performs the write back into the source item. Thirdly, the transform helper object which unifies x, y, scale and rotation animators into one matrix has been moved out of the controller and is striclty managed by the transform jobs. Finally, the qmlbench testcase indicates this new implementation is almost 10% faster than the old one, so the addition of shared pointers have not caused any significant performance additions. Change-Id: I51bbc43f716f8635fea97a08f2367e10cde95499 Reviewed-by: Michael Brasser <michael.brasser@live.com> Reviewed-by: Anton Kudryavtsev <a.kudryavtsev@netris.ru>
Diffstat (limited to 'src/quick/items/context2d/qquickcanvasitem.cpp')
0 files changed, 0 insertions, 0 deletions