我已经将LuaInterface项目嵌入到使用.NET Framework 4.0以C#编写的应用程序中。在编译LuaInterface和Lua 5.1之后,我在我的应用程序中引用了它们并创建了一个Lua VM并暴露了一些.NET类。当Lua VM没有拨多个电话时,性能根本不会受到影响;但是当它开始调用大量.NET函数时,整个应用程序变得缓慢且无响应。
为此,我做了一个额外的线程来运行Lua VM。但是出于某种原因,当Lua正在进行函数调用时,更新GUI的线程将不会更新,从而导致GUI中出现断断续续的情况。当移动一个窗口时,你可以清楚地看到它没有响应一段时间,然后移动,没有响应等。
我该如何解决这个问题?我的印象是给Lua自己的线程,一个不同的线程不应该受到影响?这在某种程度上与我自己的代码完全相关,LuaInterface是否有巨大的开销,我该怎样做才能让它变得更好?