1

我的 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 使用量和处理器使用量有任何增加。什么原因?不是吗

4

1 回答 1

0

答案来自泥:

您应该会在 CPU 和内存中看到小问题。Lua 的内存消耗会随着垃圾(死的、无法访问的对象占用的内存)的积累和收集而上下波动。但是你不应该在这里看到那么多;你根本没有推动它。想象一下在魔兽世界客户端中每帧创建多少张桌子,在 40 人的突袭战斗中运行 50 个插件......

于 2013-08-14T12:40:55.723 回答