2009-03-05 5 views
1

C#에서 Windows 양식을 사용하는 원격 응용 프로그램 (2 인용 Magic the Gathering Game)이 있고 매우 가난한 성능을보고 있습니다. 성능에 영향을 미칠 수있는 한가지는 단추 배경 및 양식 배경 (.png)에 대한 사용자 지정 이미지가 있다는 것입니다. 또한 카드 이미지 (.jpg)를 많이 사용합니다. 마지막으로 .NET 2.0에 매우 엄격하게 붙어 있습니다.Mono에서 winforms 응용 프로그램의 성능을 향상 시키려면 어떻게합니까?

Windows를 개선하기 위해 내가 뭘 찾아야할까요? 이것이 가능하지 않다면 gtk # 변환기 나 변환에 도움이되는 도구에 대한 빠른 winforms가 있습니까?

답변

5

profile your code을 시도해 보셨습니까? 어쩌면 그 병목 현상이있는 곳을 보여줍니다 ...

나는 하나의 큰 문제는 닷넷 구현, 모노 구현에 C#으로 작성는 Win32 툴킷에 바인딩 반면

생각 here

언급 한대로 여러 플랫폼

에서 작업 할 수

Mono의 System.Windows.Forms는 System.Drawing을 사용하여 으로 구현되었습니다. 모든 컨트롤은 기본적으로 System.Drawing을 통해 그려집니다. System.Windows.Forms 은 자신의 드라이버 인터페이스를 구현하여 호스트 OS 윈도우 시스템 과 통신합니다.

here.

winforms에서 gtk #까지의 변환기를 모르지만, 게임을 gtk로 변환하고 싶다면 #, this이 좋은 출발점이 될 수 있습니다.

2

프로파일 링을 시도해 보셨습니까? Mono에는 내장 프로파일 러가 있습니다. There's a page on the mono website에 대한 모노 프로파일 러 및 기타 성능 정보.

4

관찰중인 성능 문제가 무엇인지 자세히 설명 할 수 있다면 유용 할 것입니다.

Mono의 Windows.Forms 구현은 WndProc 모델을 올바르게 지원하기 위해 부과 된 일부 요구 사항으로 인해 오늘 조금 느립니다.

개선 될 수있는 영역이며 Wine의 레슨 중 많은 부분이 Mono의 Winforms 구현에 적용될 수 있습니다.

+1

안녕하세요 미구엘 정확한 문제는 나를 알지 못합니다 ... 정말 느립니다. 나 자신도 모노를 컴파일했다. 나는 그것을 실행하고보고 싶으면 내 프로그램을 보낼 수 있습니다. – kthakore