2009-03-05 2 views
1

У меня есть удаленное приложение (2 игрока Magic the Gathering Game) с использованием оконной формы на C#, и я вижу очень плохое исполнение в моно. Одна вещь, которую я могу думать о том, что может повлиять на производительность, - это то, что у меня есть пользовательские изображения для фона кнопок и формы фона (.png). Кроме того, я сильно использую картографические изображения (.jpg). Наконец, я очень строго придерживался .NET 2.0.Как повысить производительность приложения winforms в Mono?

Что я могу улучшить для улучшения производительности окон в моно? Если это невозможно, есть ли быстрые winforms для gtk # конвертора или инструмента, который помогает в преобразовании?

ответ

5

Вы пытались profile your code. Может быть, что показывает вам, где узкие места ...

Я думаю, что одна большая проблема

В то время как реализация .Net является связыванием с инструментарием Win32, реализация Mono написана на C# для позволяют ему работать на нескольких платформах

как упомянуто here и

System.Windows.Forms в Mono - , реализованный с использованием System.Drawing. Все элементы управления изначально нарисованы через System.Drawing. System.Windows.Forms реализует собственный интерфейс драйвера до , обмениваясь информацией с окном Windows OS .

как описано here.

Я не знаю конвертера из winforms в gtk # ..., но если вы действительно хотите поработать с преобразованием вашей игры в gtk #, this может быть хорошей отправной точкой.

2

Вы пробовали профилировать его? Mono имеет встроенный профилировщик. There's a page on the mono website о монопрофилировщике и других рекомендациях по производительности.

4

Было бы полезно, если бы вы могли точно определить, какие проблемы с производительностью вы наблюдаете.

Реализация Windows.Forms от Mono сегодня немного медленнее из-за некоторых требований, предъявляемых попыткой поддержки встроенной в нее модели WndProc.

Это область, которая может быть улучшена, и, вероятно, многие уроки из Wine могут быть применены к реализации Winforms Mono.

+1

Hi Miguel Точные проблемы неизвестны даже мне ... Его просто очень медленно. Я даже скомпилировал моно. Я могу отправить вам свою программу, если вы захотите ее запустить и посмотреть. – kthakore

Смежные вопросы