aboutsummaryrefslogtreecommitdiffstats
path: root/src/particles/qquickitemparticle.cpp
diff options
context:
space:
mode:
authorErik Verbruggen <erik.verbruggen@digia.com>2016-03-08 10:13:15 +0100
committerErik Verbruggen <erik.verbruggen@theqtcompany.com>2016-03-08 09:37:21 +0000
commit350a74ec69b535df07ad7ca45415090749c75293 (patch)
tree911d3c17b0af4f733f5449c6796014cfc9ac0d04 /src/particles/qquickitemparticle.cpp
parent922e9d6b0c7ae1acdae4986e8000ad9a693b7469 (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.cpp10
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());
}
}
}