游戏中使用了大量的Spine骨骼动画和cocos的骨骼动画,帧数自然直线下降,通过profile发现很大一部分的消耗来自于骨骼的计算。所以开多线程无疑是最好的办法。
修改Armature代码
void Armature::onEnter()
{
#if CC_ENABLE_SCRIPT_BINDING
if (_scriptType == kScriptTypeJavascript)
{
if (ScriptEngineManager::sendNodeEventToJSExtended(this, kNodeOnEnter))
return;
}
#endif
Node::onEnter();
//通过消息机制添加到管理器
Director::getInstance()->getEventDispatcher()->dispatchCustomEvent("7000",this);
//注释掉主线程的Update
//scheduleUpdate();
void Armature::onExit()
{
//通过消息机制从管理器移除
Director::getInstance()->getEventDispatcher()->dispatchCustomEvent("7001",this);
#if CC_ENABLE_SCRIPT_BINDING
if (_scriptType == kScriptTypeJavascript)
{
if (ScriptEngineManager