1. 병렬 컴퓨팅의 활용
테스트 결과 엄청난 결과과 나온다. CPU개수만큼 시간이 줄어들기 때문에 이제부터는 병렬 컴퓨팅도 기본으로 해야 한다.
[CPU를 모두 사용 가능한 Thread]
Task.Factory.StartNew(() => {
//Thread 함수
});
[UI 관련 필요 갱신시]
BeginInvoke((Action)delegate {
//UI 관련 표시 작업
});
[대기형 Thread - 단 UI는 정지 되지 않는다]
Task tt = Task.Factory.StartNew(() =>
{
//CPU Thread작업 (UI도 Free상태)
}).ContinueWith((t) =>
{
//위의 작업이 끝나면 다음으로 실행되는 부분 (UI도 Free상태다!!!)
});
[대기, 리턴형 Thread - 단 UI는 정지 되지 않는다]
Task tt = Task.Factory.StartNew(() =>
{
//CPU Thread작업 (UI도 Free상태)
return "abc" ;
}).ContinueWith((t) =>
{
//위의 작업이 끝나면 다음으로 실행되는 부분 (UI도 Free상태다!!!)
MessageBox.Show(t.result);
});
2. PAINT 관련 주의 사항
Paint와 Double버퍼가 세트가 되려면 다음처럼 되어야 합니다.
(1) Form에 Double버퍼넣고, Form_Paint에 그림을 그립니다 (OK)
(2) UserControl에 Dobuel 버퍼넣고, Control_Paint에 그림을 그립니다. 해당 UserControl을 Form에 여러개 올립니다. (OK)
*가장 성능이 잘나고 좋은 방법입니다.*
(3) Form에 Double버퍼넣고 Panel을 추가하여 해당 Panel_Paint에 그림을 그립니다 (X-> 더블 버퍼 반도 속도 안나옵니다.)
=> Panel을 Panel을 물려받고 Double 버퍼가 들어간 iasmcs.Win.Tool.UI.PanelD를 사용합니다.
- 대표 전화 : 02) 2061 - 0753 - Fax : 02) 2061 - 0759 - Skype : devzone24
- 주소 : 서울특별시 양천구 목1동 923-14. 현대드림타워 1024호
- 기술 문의: 02) 2061-1259 김민석 기술이사
댓글 없음:
댓글 쓰기