cocos 帧率测试

有人说导致cocos2dx 帧率下降的是getPosition,我测试以后发现并不是这样的。


local MainScene = class("MainScene", function()
    return display.newScene("MainScene")
end)

function MainScene:ctor()

    -- 随便创建500个Node
    local nodes = {};
    for i = 1, 1500 do
        nodes[i] = cc.Node:create();
        self:addChild(nodes[i]);
    end
    -- 注册update函数
    self:scheduleUpdateWithPriorityLua(function(dt)
        local pos = nil;
        local size = nil;

        -- 遍历所有节点,仅仅是进行了获取坐标和大小的操作
        for index, node in pairs(nodes) do
            pos = node:getPosition();
            size = node:getContentSize();
        end
    end, 0);


    self:addNodeEventListener(cc.NODE_ENTER_FRAME_EVENT,handler(self , self.update))
    self:scheduleUpdate()

    self.sum=0
    self.frameIndex=0

end


function MainScene:update(dt)
    
	local rate=cc.Director:getInstance():getFrameRate()
	--print(rate)
	self.sum=self.sum+rate
	self.frameIndex=self.frameIndex+1
	
	print(self.sum/self.frameIndex)
end






return MainScene

原文地址:https://www.cnblogs.com/yufenghou/p/4590192.html