将LuaInterface嵌入C#的性能很差?

我已经将LuaInterface项目嵌入到一个使用.NET Framework 4.0编写的C#应用程序中。在编译LuaInterface和Lua5.1之后,我在我的应用程序中引用了它们,创建了一个Lua虚拟机并公开了一些.NET类。当Lua虚拟机不进行太多调用时,性能不受影响。但是当它开始调用大量的.NET函数时,整个应用程序变得缓慢和无响应。

为此,我另外创建了一个线程来运行Lua虚拟机。但由于某种原因,GUI更新的线程在Lua进行函数调用时不会更新,导致GUI出现卡顿。当移动一个窗口时,可以清楚地看到它不会立即响应,然后移动,不响应等等。

我该如何解决这个问题?我认为,给Lua一个自己的线程,其他线程不应受到影响。这是否完全与我的代码相关?LuaInterface是否有很大的开销?我该怎么做来改善它们?

原文链接 https://stackoverflow.com/questions/3896740

点赞