From 192a3052f6a5f430eb2f2a09554f44171b002ef5 Mon Sep 17 00:00:00 2001 From: giuseppelt Date: Fri, 19 May 2017 01:13:10 +0200 Subject: [PATCH] ParticleSystem: Mark as ChangeColor only if needed This avoid a waste of resources (particle image redraw), if the delta is only the alpha, which is handled by the context's globalAlpha --- cocos2d/particle/CCParticleSystemCanvasRenderCmd.js | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-) diff --git a/cocos2d/particle/CCParticleSystemCanvasRenderCmd.js b/cocos2d/particle/CCParticleSystemCanvasRenderCmd.js index 781baf7004..5f602e99f2 100644 --- a/cocos2d/particle/CCParticleSystemCanvasRenderCmd.js +++ b/cocos2d/particle/CCParticleSystemCanvasRenderCmd.js @@ -195,11 +195,12 @@ }; proto._updateDeltaColor = function (selParticle, dt) { if (!this._node._dontTint) { - selParticle.color.r += selParticle.deltaColor.r * dt; - selParticle.color.g += selParticle.deltaColor.g * dt; - selParticle.color.b += selParticle.deltaColor.b * dt; - selParticle.color.a += selParticle.deltaColor.a * dt; - selParticle.isChangeColor = true; + var deltaColor = selParticle.deltaColor; + selParticle.color.r += deltaColor.r * dt; + selParticle.color.g += deltaColor.g * dt; + selParticle.color.b += deltaColor.b * dt; + selParticle.color.a += deltaColor.a * dt; + selParticle.isChangeColor = deltaColor.r !== 0 || deltaColor.g !== 0 || deltaColor.b !== 0; } }; })();