Встраивание LuaInterface в C # имеет низкую производительность? - PullRequest
1 голос
/ 09 октября 2010

Я встроил проект LuaInterface в приложение, написанное на C # с использованием .NET Framework 4.0.После компиляции LuaInterface и Lua 5.1 я ссылался на них в своем приложении, создал виртуальную машину Lua и показал несколько классов .NET.Когда виртуальная машина Lua не выполняет много вызовов, производительность не изменяется вообще;но когда он начинает вызывать большее количество функций .NET, все приложение становится медленным и не отвечает.

В ответ на это я создал дополнительный поток для запуска виртуальной машины Lua.По какой-то причине поток, в котором обновляется GUI, не будет обновляться, пока Lua выполняет вызов функции, что приводит к заиканию в GUI.При перемещении окна вы можете ясно видеть, что оно некоторое время не отвечает, затем перемещается, не отвечает и т. Д.

Как я могу решить эту проблему?У меня сложилось впечатление, что предоставление Lua собственной нити не должно повлиять на другую нить?Это как-то связано с моим собственным кодом, у LuaInterface огромные издержки и что я могу сделать, чтобы все стало лучше?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...