我有一个关于 C#、Mono 和 OSX 的问题。我已经使用 Windows 窗体在 C# 中创建了一个程序,并试图使其在 Mac 上可用。
问题是,OSX 上的性能非常差,我只是找不到加速它的方法。程序本身实际上非常简单:一个客户端服务器系统只使用两个 DataGridView、几个 ComboBox 和 Button、一个 TabControl、几个 SplitContainer——就是这样!在 Windows 上运行良好,没有任何速度问题。
当我在 Mac(MacBook Air,OSX 版本 10.8.3)上打开程序时,加载 GUI 需要很长时间。在 Windows 上构建它大约需要 0.5 秒,在 Mac 上大约需要一分钟(!)。所有控件的构建速度都非常慢,并且大多数情况下,当通过单击某个东西与程序交互时,它又需要至少 10 秒的响应时间。
我了解到 Mono 使用 Windows.System.Drawing 本地构建 GUI。这是程序响应极慢的可能原因吗?我可以做些什么来加快程序?必须有某种方法,因为如果 Mono 甚至不能用于这样一个简单的程序,那它就毫无用处了……
我花了几个小时试图用谷歌搜索我的问题的答案,但找不到任何有用的东西:AheadOfTime-Compiling、LLVM - 没有什么能提高性能。
非常感谢您提前回答!
克里斯
更新: 我现在稍微减少了性能问题。Mono 似乎对 Gridviews 的 CellFormating 有问题。我更改了适用部分的代码,它现在运行得更快了。
尽管如此,构建 GUI 仍然需要很长时间。您可以从字面上看它构建 GUI。对此有何建议?