|
프로그램이 시작되면 쓰레드를 두개 만듭니다.
첫번째 쓰레드 : 데이터를 읽어오는 쓰레드
두번째 쓰레드 : 데이터를 TChart에 그리는 쓰레드
많은 양의 데이터를 읽어와서 빠른 속도로 그래프로 출력해야 해서 위 처럼 두개의 쓰레드를 사용했습니다.
그리고, 둘 간에 동기화는 하지 않았습니다.
데이터를 읽어와서 TChart에 그리는데 까지는 전혀 문제가 없습니다.
그런데, TChart 가 CPU 를 너무 잡아서 그런지...
TChart가 메인 폼에 있는데... 메인폼에 있는 버튼들이 잘 동작하지 않습니다.
마우스를 스무번 이상 클릭해야 한번 정도 동작하는 것 같습니다.
해결책이 없을까요?
고수님 들의 답변 기대합니다... 도와주십셔... ㅜ.ㅜ
참... 그리고 TChart 7 Pro 버전에서는 위와 같은 문제가 생기지 않을까요?
도저히 방법이 없다면 구입을 해서라도 해결해야 해서리...
그리고 다음은 제가 시도해본 방법입니다.
1. 데이터를 받아오는 쓰레드에서 메시지를 날려서 그래프를 그리는 쓰레드를 resume 과 suspend 를 반복하게
해줘봤습니다.
효과를 약간 보기는 했지만, delete 쓰레드를 했을때 쓰레드가 죽지 않는 문제가 발생합니다.
2. 그래프를 그리는 쓰레드 안에서 루프를 돌면서 주기적으로 Application->ProcessMessage() 를 해줘봤습니다.
그러나, 별로 효과가 없었습니다.
3. 그래프를 그리는 쓰레드 내부에서 일정 량을 그린후 Sleep(100)을 줘봤습니다.
위의 1번과 비슷한 효과를 얻었습니다.
제가 시도해본 방법으로 약간의 효과를 얻을 수는 있었지만, 만족할 만한 수준은 아니었습니다.
|