Q&A

  • 타이머 사용으로 인한 속도 저하문제...
제가 지금 실시가 모니터링 프로그램을 짜구있습니다...



MDI폼이 메인 폼이구.. 여기에 1개이 타이머가 작동하고,,



통신 폼에서 타이머 2개로.. 0.05초 간격으로 신호를주구 받고 합니다.



거기에.. 다른 여러폼에서두.. 타이머들이 있어서....



1초마다 상태를 갱신하여 나타내게 되어 있습니다.



문제는 통신 타이머시간이 너무 빨라서...인거 같은디..

다른 타이머들두 동시에 돌아가구 있어서.



전체적으로 프로그램을 제어 할 수 없습니다.



프로그램은 잘 돌아가나. 메뉴바를 클릭하면 메뉴가 나타나는게 느리구



다른 폼으로 전환하는 것이 눈에 띠게 늘립니다.



쓰레드와 타이머를 동시에 사용하면 새결할 수 있을거 같은디..



쓰레드 사용법을 모르겠네여..

(ps 지가 델프로그램을 시작한지 이제 3개월
2  COMMENTS
  • Profile
    박종환 2001.06.12 09:27
    1. 여기서의 통신이란 시리얼 통신을 의미하나요?

    2. 0.05 초의 타이머 몇개로 시스템에 부하를 주지는 않습니다. 느려지는 원인은 다른데서 찾으셔야 할 것같습니다. 왜냐면 본인은 그 이상 10 배되는 타이머를 통신에 사용해도 모두 무리없이 잘합니다.

    3. 사용하시는 통신 컴포넌트도 내부처리에서 그러한 부하를 주는 원인이 될 수 있습니다. 통신 컴포넌트 내에서 쓰레드 타이머로 루핑같은 처리하는 것을 경험한 적이 있습니다.

    4. 혹시 화면 처리에서 CPU를 너무 사용하는건 아닌지요. 별도의 쓰레드를 사용하지 않은한 1 Application 은 1 쓰레드입니다. 1 쓰레드에서는 발생되는 이벤트 순으로 모든 처리를 합니다. 각각으 루틴 수행에 소요되는 시간을 측정하여 튜닝할 필요가 있습니다.

  • Profile
    연기훈 2001.06.12 18:48
    답변 감사합니다.



    저도 여러가지를 생각해보구 테스트 해봤습니다..



    그 중 타이머 시간을 1초 이상으로만 잡아도 메뉴바 등 화면에서 제어하는 부분들이



    낀김이 느껴지지 않을 정도로 부드럽습니다.



    통신 모듈도 모듈 내부적으로 쓰레드로 돌아가는 걸로 알고 있습니다.(직접 소스 분석은



    아직 못해봐서 사실인지는 확인 못했지만....)



    프로그램이 모니터링 프로그램이고보니. 화면 처리가 주 일이네여...



    이걸 어떻다른 방법을 강구해 볼 만한 것 같습니다. ^^



    답변 감사합니다.. *^^*



    박종환 wrote:

    > 1. 여기서의 통신이란 시리얼 통신을 의미하나요?

    > 2. 0.05 초의 타이머 몇개로 시스템에 부하를 주지는 않습니다. 느려지는 원인은 다른데서 찾으셔야 할 것같습니다. 왜냐면 본인은 그 이상 10 배되는 타이머를 통신에 사용해도 모두 무리없이 잘합니다.

    > 3. 사용하시는 통신 컴포넌트도 내부처리에서 그러한 부하를 주는 원인이 될 수 있습니다. 통신 컴포넌트 내에서 쓰레드 타이머로 루핑같은 처리하는 것을 경험한 적이 있습니다.

    > 4. 혹시 화면 처리에서 CPU를 너무 사용하는건 아닌지요. 별도의 쓰레드를 사용하지 않은한 1 Application 은 1 쓰레드입니다. 1 쓰레드에서는 발생되는 이벤트 순으로 모든 처리를 합니다. 각각으 루틴 수행에 소요되는 시간을 측정하여 튜닝할 필요가 있습니다.