diff options
author | Erik Verbruggen <erik.verbruggen@digia.com> | 2016-03-08 10:13:15 +0100 |
---|---|---|
committer | Erik Verbruggen <erik.verbruggen@theqtcompany.com> | 2016-03-08 09:37:21 +0000 |
commit | 350a74ec69b535df07ad7ca45415090749c75293 (patch) | |
tree | 911d3c17b0af4f733f5449c6796014cfc9ac0d04 /src/particles/qquickitemparticle.cpp | |
parent | 922e9d6b0c7ae1acdae4986e8000ad9a693b7469 (diff) |
Particles: Shrink QQuickParticleData by 2 pointers.
Samegame creates about 23,000 particles, so this reduces the memory by
~180kb on 32bit, so ~360kb on 64bit.
Change-Id: I0581524ab232b474c5d43abeabd7ebf6174e740f
Reviewed-by: Lars Knoll <lars.knoll@theqtcompany.com>
Diffstat (limited to 'src/particles/qquickitemparticle.cpp')
-rw-r--r-- | src/particles/qquickitemparticle.cpp | 10 |
1 files changed, 5 insertions, 5 deletions
diff --git a/src/particles/qquickitemparticle.cpp b/src/particles/qquickitemparticle.cpp index ba6c6f915d..15cf19181e 100644 --- a/src/particles/qquickitemparticle.cpp +++ b/src/particles/qquickitemparticle.cpp @@ -206,8 +206,8 @@ void QQuickItemParticle::tick(int time) m_managed << d->delegate; } if (d && d->delegate){//###Data can be zero if creating an item leads to a reset - this screws things up. - d->delegate->setX(d->curX() - d->delegate->width()/2);//TODO: adjust for system? - d->delegate->setY(d->curY() - d->delegate->height()/2); + d->delegate->setX(d->curX(m_system) - d->delegate->width() / 2); //TODO: adjust for system? + d->delegate->setY(d->curY(m_system) - d->delegate->height() / 2); QQuickItemParticleAttached* mpa = qobject_cast<QQuickItemParticleAttached*>(qmlAttachedPropertiesObject<QQuickItemParticle>(d->delegate)); if (mpa){ mpa->m_mp = this; @@ -251,7 +251,7 @@ QSGNode* QQuickItemParticle::updatePaintNode(QSGNode* n, UpdatePaintNodeData* d) //### Constant resetting might lead to m_loadables never being populated when tick() occurs for (auto groupId : groupIds()) { for (QQuickParticleData* d : qAsConst(m_system->groupData[groupId]->data)) { - if (!d->delegate && d->t != -1 && d->stillAlive()) { + if (!d->delegate && d->t != -1 && d->stillAlive(m_system)) { m_loadables << d; } } @@ -301,8 +301,8 @@ void QQuickItemParticle::prepareNextFrame() item->setOpacity(o); } } - item->setX(data->curX() - item->width()/2 - m_systemOffset.x()); - item->setY(data->curY() - item->height()/2 - m_systemOffset.y()); + item->setX(data->curX(m_system) - item->width() / 2 - m_systemOffset.x()); + item->setY(data->curY(m_system) - item->height() / 2 - m_systemOffset.y()); } } } |