diff options
author | Gunnar Sletta <gunnar@sletta.org> | 2016-08-23 12:38:14 +0200 |
---|---|---|
committer | Gunnar Sletta <gunnar@sletta.org> | 2016-10-12 18:12:28 +0000 |
commit | ae80962806f44fc9f58de14d62229771b836cb93 (patch) | |
tree | e73a36fb943640a66e14c15a3582265ebbe9e306 /src/quick/items/context2d/qquickcanvasitem.cpp | |
parent | ebb8e81050b40645f0e80f0ec59773790928df75 (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