C++Builder Programming Forum
C++Builder  |  Delphi  |  FireMonkey  |  C/C++  |  Free Pascal  |  Firebird
볼랜드포럼 BorlandForum
 경고! 게시물 작성자의 사전 허락없는 메일주소 추출행위 절대 금지
C++빌더 포럼
Q & A
FAQ
팁&트릭
강좌/문서
자료실
컴포넌트/라이브러리
메신저 프로젝트
볼랜드포럼 홈
헤드라인 뉴스
IT 뉴스
공지사항
자유게시판
해피 브레이크
공동 프로젝트
구인/구직
회원 장터
건의사항
운영진 게시판
회원 메뉴
북마크
볼랜드포럼 광고 모집

C++빌더 Q&A
C++Builder Programming Q&A
[50402] [질문]TChart 관련... 도움 부탁드립니다.... ㅜ.ㅜ
왕초보빌더 [coppermilk] 1886 읽음    2007-08-29 01:12
프로그램이 시작되면 쓰레드를 두개 만듭니다.
첫번째 쓰레드 : 데이터를 읽어오는 쓰레드
두번째 쓰레드 : 데이터를 TChart에 그리는 쓰레드
많은 양의 데이터를 읽어와서 빠른 속도로 그래프로 출력해야 해서 위 처럼 두개의 쓰레드를 사용했습니다.
그리고, 둘 간에 동기화는 하지 않았습니다.
데이터를 읽어와서 TChart에 그리는데 까지는 전혀 문제가 없습니다.

그런데, TChart 가 CPU 를 너무 잡아서 그런지...
TChart가 메인 폼에 있는데... 메인폼에 있는 버튼들이 잘 동작하지 않습니다.
마우스를 스무번 이상 클릭해야 한번 정도 동작하는 것 같습니다.

해결책이 없을까요?
고수님 들의 답변 기대합니다... 도와주십셔... ㅜ.ㅜ

참... 그리고  TChart 7 Pro 버전에서는 위와 같은 문제가 생기지 않을까요?
도저히 방법이 없다면 구입을 해서라도 해결해야 해서리...

그리고 다음은 제가 시도해본 방법입니다.
1. 데이터를 받아오는 쓰레드에서 메시지를 날려서 그래프를 그리는 쓰레드를 resume 과 suspend 를 반복하게
해줘봤습니다.
효과를 약간 보기는 했지만, delete 쓰레드를 했을때 쓰레드가 죽지 않는 문제가 발생합니다.

2. 그래프를 그리는 쓰레드 안에서 루프를 돌면서 주기적으로 Application->ProcessMessage() 를 해줘봤습니다.
그러나, 별로 효과가 없었습니다.

3. 그래프를 그리는 쓰레드 내부에서 일정 량을 그린후 Sleep(100)을 줘봤습니다.
위의 1번과 비슷한 효과를 얻었습니다.

제가 시도해본 방법으로 약간의 효과를 얻을 수는 있었지만, 만족할 만한 수준은 아니었습니다.

+ -

관련 글 리스트
50402 [질문]TChart 관련... 도움 부탁드립니다.... ㅜ.ㅜ 왕초보빌더 1886 2007/08/29
50403     Re:[질문]TChart 관련... 도움 부탁드립니다.... ㅜ.ㅜ 장성호 1917 2007/08/29
50404         Re:Re:[재질문]실시간으로 그려야해서... 왕초보빌더 1901 2007/08/29
50406             Re:Re:Re:[재질문]어디에 문제가 있는지는 알았습니다. 그런데... 왕초보빌더 1746 2007/08/29
Google
Copyright © 1999-2015, borlandforum.com. All right reserved.