我的Lua程序首先声明一个multidim表:
function love.load()
-- változók deklarálása
Maximum_X = 32 -- a teljes játéktér mérete
Maximum_Y = 16
i = 0 -- ciklusváltozók
j = 0
-- játéktér létrehozása
MapTable = {}
for y = 1,Maximum_Y do
local row = {}
for x = 1,Maximum_X do
row[x] = 2 -- table.insert helyett
end
MapTable[y] = row -- table.insert helyett
end
end
然后,对于一个实验,我为每个可能的框架做元素声明。
function love.update(dt)
for y = 1,Maximum_Y do
local row = {}
for x = 1,Maximum_X do
row[x] = 2
end
MapTable[y] = row
end
end
理论上,它创建了16个row = {}
个空表,并在每个帧中上传值,这意味着每秒创建和上传数百个新表。还有更多的操作和上传的表格!
然而,我无法看到RAM使用率和处理器使用量都没有增加。什么原因?不是
答案 0 :(得分:0)
答案来自Mud:
你应该看到CPU和内存都有轻微的瑕疵。 Lua的内存消耗将随着垃圾(由死亡,无法访问的对象占用的内存)累积并随后收集而上下摇摆。但你不应该在这里看到那么多;你根本就没有推动它。想象一下,在World of Warcaft客户端中,每个帧创建了多少个表,在40人突袭战斗期间运行了50个插件......