문제

Winform on CF는 약간 무거워서 많은 창 핸들을 초기화하려면 시간과 메모리가 많이 필요합니다.또 다른 문제는 내장 된 이중 버퍼링이없고 UI 렌더링을 제어 할 수 없다는 것은 프로세서 집약적 인 작업 중에 UI가 사용자가 절반 렌더링 된 화면을 응시할 수 있음을 의미합니다.좋아요!

이 문제를 완화하기 위해 경량 제어 프레임 워크를 찾고 있습니다. 이미 시작된 프레임 워크가 있습니까? 아니면 자체 개발해야합니까?

경량이란 컨트롤 페인팅을 완전히 제어 할 수 있고 값 비싼 윈도우 핸들을 많이 사용하지 않는 컨트롤 라이브러리를 의미합니다.

참고 : UI 스레드에서 너무 많이 실행하고 있다고 제안하지 마십시오.그렇지 않습니다 .

도움이 되었습니까?

해결책

저는 요 전에이 문제를 살펴 보았습니다. 최소한 시작점으로 도움이 될 수 있습니다. Fuild-Windows Mobile.NET Touch Controls .모양과 느낌은 좋지만 디자인 타임 지원은 없습니다.메모리 풋 프린트 등에 대해 잘 모르지만 모든 것이 이중 버퍼링되어 성능이 꽤 좋은 것 같습니다.

다른 팁

좋아요, 그냥 떠오르는 아이디어 ...

동기화 개체를 만드는 방법 (예 :작업자와 GUI 스레드간에 공유되는 애플리케이션의 중요 섹션 또는 단일 잠금.페인트를 무시하십시오.페인팅을 시작할 때 다른 모든 스레드를 차단하여 CPU를 잡아 먹는 동안 절반으로 칠해진 화면이 남지 않도록합니다.

(물론 사용자에게 예쁜 그림을 제시하는 것이 가장 중요한 것이라고 가정합니다;))

<인용구>

약간 느리고 페인트 이벤트를 제어 할 수 없으므로 프로세서 집약적 인 작업 중에 UI가 사용자가 절반 렌더링 된 화면을 응시할 수 있습니다.

일반적으로 UI 스레드에서 값 비싼 작업을 수행하는 것은 좋지 않습니다.UI 응답 성을 유지하려면 작업자가 이러한 작업을 수행해야합니다.스레드

실제로 paint 이벤트를 재정의 할 수 있습니다.

그리고 장기 실행 작업을 별도의 스레드로 오프로드한다는 아이디어가 있습니다.실제로 다른 이벤트 중심 프레임 워크와 다르지 않습니다.Paint 이벤트 처리에 의존하는 모든 것 은 이에 취약합니다.

또한 페인트 이벤트가 발생하는시기를 확인할 수있는 시스템이 없습니다.이러한 종류의 이벤트는 일반적으로 응용 프로그램 (또는 프레임 워크) 외부에있는 창 관리자 계층에 의해 발생합니다.이벤트를 직접 처리 할 수 있고 가끔은 아무 일도하지 않아도되지만 권장하지 않습니다.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top