Lua中加循环导致FPS降低

刚开始使用cocos,需要在每帧的回调函数中循环检测游戏中的逻辑,可是加上之后FPS变很低,不知道是不是循环放错了地方,请各位指点一下,感谢~~

使用的是官方例子中的代码:在tick中加个循环导致FPS下降很多,我理解游戏中逻辑判断应该要放在这个函数里吧?

 -- moving dog at every frame        local function tick()   --这里加个空循环FPS都降到个位数  for i=0,1000 do  end             if spriteDog.isPaused then return end            local x, y = spriteDog:getPosition()            if x > origin.x + visibleSize.width then                 x = origin.x            else                 x = x + 1            end
            spriteDog:setPositionX(x)      end schedulerID = cc.Director:getInstance():getScheduler():scheduleScriptFunc(tick, 0, false)

tick()中加的费时操作,必然会降低fps嘛,
修改代码,尽量减少这里的运算量啊

多谢回复,问题是现在只循环1000次,循环里面只加个计数,别的什么逻辑都没有,像这样:
for i = 0,1000 do
cnt = cnt +1
end
只加这点FPS就降到10帧左右,这很无语啊。。。

今天试了一下C++版在tick里循环100万次FPS都在40帧以上,这lua效率和c++差这么多么,求大神解答下啊,我们的游戏本来想都用lua语言写的,难道核心逻辑必须转成C++么?

计算量大的,要想效率高,最好还是用c++啊

那个是cocoside的问题不是lua的问题,cocoside需要改进。你不用cocoside调试一样的跑的快。

我在release模式下生成apk装到手机上效率还是不行,你可以用官方的demo试下效率问题,应该不是cocos ide的原因

— Begin quote from ____

引用第5楼lualu于2014-12-30 11:35发表的 回 4楼(leemeun) 的帖子 :
我在release模式下生成apk装到手机上效率还是不行,你可以用官方的demo试下效率问题,应该不是cocos ide的原因 http://www.cocoachina.com/bbs/job.php?action=topost&tid=278861&pid=1209925

— End quote

不知道你是哪个版本。。
3.3final在pc平台上面帧频不稳定。。。你随便跑里面的smaple都会发现,
3.2就好很多
用了你的例子在3.2下面跑了,60帧稳稳的

是因为lua执行不再使用luajit而使用lua5.1.5的缘故

看来只有等LuaJIT 支持64位了,quick官方有说明
http://quick.cocos.org/?p=1746