From 9a8ce4e78e6791f0f33cbc02688ea3fe85f84342 Mon Sep 17 00:00:00 2001 From: Julienpretty Date: Thu, 28 Jul 2016 10:46:56 +0200 Subject: [PATCH] Improved performances when applying color and alpha on vertices Instead of setting color and alpha on each vertex, call colorize() only once before iterating through all vertices. In our use case, performances are multiplied by 2. --- .../spine-starling/src/spine/starling/SkeletonSprite.as | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/spine-starling/spine-starling/src/spine/starling/SkeletonSprite.as b/spine-starling/spine-starling/src/spine/starling/SkeletonSprite.as index 2dc9045f2..e80ead676 100644 --- a/spine-starling/spine-starling/src/spine/starling/SkeletonSprite.as +++ b/spine-starling/spine-starling/src/spine/starling/SkeletonSprite.as @@ -155,11 +155,10 @@ public class SkeletonSprite extends DisplayObject { vertexData = mesh.getVertexData(); uvs = meshAttachment.uvs; + vertexData.colorize("color", rgb, a); for (ii = 0, iii = 0; ii < verticesCount; ii++, iii+=2) { mesh.setVertexPosition(ii, worldVertices[iii], worldVertices[iii+1]); - mesh.setTexCoords(ii, uvs[iii], uvs[iii+1]); - mesh.setVertexColor(ii, rgb); - mesh.setVertexAlpha(ii, alpha); + mesh.setTexCoords(ii, uvs[iii], uvs[iii+1]); } vertexData.numVertices = verticesCount; // FIXME set smoothing/filter