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/qquickpointattractor.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/qquickpointattractor.cpp')
-rw-r--r-- | src/particles/qquickpointattractor.cpp | 16 |
1 files changed, 8 insertions, 8 deletions
diff --git a/src/particles/qquickpointattractor.cpp b/src/particles/qquickpointattractor.cpp index 8b3cfbd1ff..779b2915f0 100644 --- a/src/particles/qquickpointattractor.cpp +++ b/src/particles/qquickpointattractor.cpp @@ -115,8 +115,8 @@ bool QQuickAttractorAffector::affectParticle(QQuickParticleData *d, qreal dt) { if (m_strength == 0.0) return false; - qreal dx = m_x+m_offset.x() - d->curX(); - qreal dy = m_y+m_offset.y() - d->curY(); + qreal dx = m_x+m_offset.x() - d->curX(m_system); + qreal dy = m_y+m_offset.y() - d->curY(m_system); qreal r = std::sqrt((dx*dx) + (dy*dy)); qreal theta = std::atan2(dy,dx); qreal ds = 0; @@ -146,15 +146,15 @@ bool QQuickAttractorAffector::affectParticle(QQuickParticleData *d, qreal dt) d->y = (d->y + dy); break; case Acceleration: - d->setInstantaneousAX(d->ax + dx); - d->setInstantaneousAY(d->ay + dy); + d->setInstantaneousAX(d->ax + dx, m_system); + d->setInstantaneousAY(d->ay + dy, m_system); break; case Velocity: //also default default: - vx = d->curVX(); - vy = d->curVY(); - d->setInstantaneousVX(vx + dx); - d->setInstantaneousVY(vy + dy); + vx = d->curVX(m_system); + vy = d->curVY(m_system); + d->setInstantaneousVX(vx + dx, m_system); + d->setInstantaneousVY(vy + dy, m_system); } return true; |