更换父节点会出现严重卡顿

在浏览器和模拟器上没有出现卡顿,在手机上出现卡顿,有大手子知道为什么吗
更换父节点的代码如下

 changeParent : function (node, newParent) {
	if(node.parent == newParent) return;
	var getWorldRotation = function (node) {
		var currNode = node;
		var resultRot = currNode.rotation;
		do {
			currNode = currNode.parent;
			resultRot += currNode.rotation;
		} while(currNode.parent != null);
		resultRot = resultRot % 360;
		return resultRot;
	};

	var oldWorRot = getWorldRotation(node);
	var newParentWorRot = getWorldRotation(newParent);
	var newLocRot = oldWorRot - newParentWorRot;

    var oldWorPos = node.convertToWorldSpaceAR(cc.p(0,0));
	var newLocPos = newParent.convertToNodeSpaceAR(oldWorPos);

    node.parent = newParent;
    node.position = newLocPos;
	node.rotation = newLocRot;
}

如果更换父节点的子节点下有大量的孙子节点.在更换父节点时或移动位置时,所有孙子节点的本地矩阵会重算,消耗大量运算资源,这是我们以前遇到的问题,不知道是否有帮助.

那你有什么解决方法吗,我现在做的就是模仿见缝插针的一个游戏,子节点会跟着新的父节点旋转,但是我的孙子节点只有一个没有很多诶

如果孙子节点只有一个,应该是其他原因了.
可以在 changeParent 前后打个时间,定位一下是否是这段代码耗时.
目前也不能排除其他未知性能低的可能性.

好的,谢谢

回来了,发现是打印信息让手机卡顿,删掉就没事了:sweat_smile: