Тема CE Lua скриптов очень интересная. Жаль у меня мало свободного времени на эксперименты с таблицами на формах на CE Lua.
Есть еще вариант написать модуль dll на Лазаре с таблицей. Работать с модулем через Cheat Engine
На Лазаре можно делать вот такие красивые таблички. Форму в модуль сохранить и работать с функциями модуля.
Но проблема с оптимизацией таким способом может не решаться.
1. Чистить кеш памяти. Я писал об этом в блоге.
2. Избегать постоянной записи в edit, если этого не требуется. Например кешировать значение в edit-е в переменной Lua, если это значение отличается, то только тогда обращаться к edit.
Т.е. не так
local addr = addr + 0x84*6
UDF1["CEEdit"..x].Text = readBytes(addr+(x-15*6))
А например так
local value = readBytes(addr+(x-15*6))
if table_Cash[i].cash == value then
table_Cash[i].cash = value
table_Cash[i].edit.Text = value
end
И тут не используем конструкцию вида UDF1["CEEdit"..x], т.к. скорее всего это как раз увеличивает объемы мусора и нагрузку на его чистку. Т.е. сделать table_Cash = {} и запись разовую сделать по циклу для всех Edit-ов.
Как оптимизировать Lua код? Сравнивать его выполнение по скорости и объему мусора. Сравнение по скорости я писал в блоге, а сравнить кеш мусора до и после можно добавить.
print(string.format('Lua memory usage %.1f MiB',collectgarbage('count')/1024))
Вообще, это конечно CE Lua — это такие заморочки. Даже мне неловко предлагать эти решения. Проще на том же Лазаре таблицу сделать, да чтение памяти и запись. И exe скорее всего будет меньше по размеру и таблички красивее