aboutsummaryrefslogtreecommitdiffstats
path: root/src/quickwidgets
diff options
context:
space:
mode:
authorGunnar Sletta <gunnar@sletta.org>2016-11-08 12:47:25 +0100
committerGunnar Sletta <gunnar@sletta.org>2016-11-10 11:32:23 +0000
commit08a9fc04989aa05d4cc8c44430977d23cc729656 (patch)
treec4478c4e89276fc5d53410644150a4f228623a1d /src/quickwidgets
parenta23bcdf91971510b79c541fdff4a9467ead08751 (diff)
Change implementation of shadow nodes to use a double-linked list
Since eea8fa64ab27854b71f46ef143e35b6c9acbba14, we're seeing increased times in QSGNode::removeChildNode(). The reason for this seems to be that iteration through the linked list is significantly slower than iteration through a QList<> due to that each node needs to be loaded in memory to iterate to the next, compared a more plain sequential pointer compare with QList<>. This implementation changes the nodes to use a circular double-linked list so we can drop the iteration when removing nodes. This brings us slightly better performance than the original QList based implementation while still using the same amount of memory as the single-linked list one. Change-Id: I0b693730f5b82ad7767e507accafd90551e03fbc Reviewed-by: Erik Verbruggen <erik.verbruggen@qt.io>
Diffstat (limited to 'src/quickwidgets')
0 files changed, 0 insertions, 0 deletions