В моем игровом движке я открываю свои объекты Vector и Color для Lua, используя пользовательские данные.
Теперь для каждого даже локально созданного вектора и цвета из скриптов Lua использование памяти Luas немного увеличивается, оно не падает, пока не запустится сборщик мусора.
Сборщик мусора вызывает небольшой лаг в моей игре.
Разве объекты Vector и Color не должны быть немедленно удалены, если они используются только в качестве аргументов? Например, так: myObject:SetPosition( Vector( 123,456 ) )
Сейчас это не так - использование памяти Lua увеличивается до 1,5 МБ в секунду, затем происходит всплеск задержки, и он возвращается примерно к 50 КБ.
- Как я могу решить эту проблему, она вообще разрешима?