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
[59553] Re:Re:Re:매시 정각마다 타이머를 실행 시키는 방법에 대해 ....
장성호 [nasilso] 2220 읽음    2009-12-28 15:16
1초에 한번씩 WM_TIMER라는 메시지가 발생한다고 해서 pc가 버벅거리진 않습니다.
그것 처리하는데 필요한 cpu 자원이 얼마나 되는지 정확하게는 모르지만..

요즘 cpu에서 1초에 처리할수 있는 량에 수만분의 1도 안될것입니다.
GetMessage(또는 PeekMessag)는 어차피 반복적으로 호출하구..

만약  WM_TIMER 메세지가 있다하더라두..
메세지핸들러를 찾아서 호출해주구..
메세지핸들러(OnTimer이벤트함수)에서 체크해주는 코드..

그정도 코드는 초당 수만,수십만번도 더 처리할수 있습니다.
문론 cpu에따라 다르겠지만..

아무 메세지가 발생하지 않아도 처리하고 있는 작업이 있는데..
TIMER메세지 한번발생으로 처리하는 내요이
그것보다 결코 많지 않습니다.

결론적으로 TIMER메세지 발생으로 처리할 작업량이 늘어나는것은 거의 없다고 보시면 됩니다.

테스트 해보진 않았지만 오히려 줄어들수도 있구요
왜냐하면 vcl에서는 시스템 메세지큐에서
GetMesage로 메세지를 가져오지 않고 PeekMessage로 메세지를 가져오는데
메세지가 없는경우 처리하는 작업이 상당히 있기 때문이죠

그럼..



초초보 님이 쓰신 글 :
: 그렇군요 ..
: 그렇다면 매초마다 TTimer가 불려진다면 cpu를 1초에 한번 잡아먹어서 컴퓨터가 느려지는 현상이 발생하지 않을까요?
: 느려지지 않는 범위에서 가능할까요?
: 일단 한번 해보겠습니다~ 답변 감사해요~
:
:
: 장성호 님이 쓰신 글 :
: : 그냥 
: :   - TTimer를 하나 올려두고
: :   - Timer의 Interval을   1초로 해두구
: :   - OnTimer이벤트에서..
: :      현재 시간을 시/분/초 로 decode해서
: :   -  분/초가 모두 0 인 경우에만
: :      원하는 작업을 수행하면 되지 않을까요?
: :
: : 위 방법의 문제점이 하나 있는데요..
: :    TTimer는 반드시 1초 간격으로 이벤트가 들어오지 않는다는것입니다.
: :    1초를 조금 넘길수도 있지만.. process(CPU)가 다른 일로 바쁘면..
: :    Timer이벤트가 발생이 많이 늦어질수도 있죠
: :  
: :    이부분만 신경쓰면 위 방식에 뭐 큰문제는 없을듯...
: :
: :
: : 그럼...    
: :   
: :  
: :  
: : 초초보 님이 쓰신 글 :
: : : 제가 문득 타이머실행을 공부중인데요
: : : 매시간 정각마다 타이머를 실행시키려면
: : : 어떠한 방법이 있을지 궁금해서 글을 올려요~
: : : 검색해보니 그런 방법은 없는거 같아서요~
: : : 빌더 초보라 .. C++도 초보구요~ ㅋ
: : : 그럼 지나가시다 한마디만 남겨주세요~ ^^

+ -

관련 글 리스트
59550 매시 정각마다 타이머를 실행 시키는 방법에 대해 .... 초초보 1346 2009/12/28
59551     Re:매시 정각마다 타이머를 실행 시키는 방법에 대해 .... 장성호 1682 2009/12/28
59552         Re:Re:매시 정각마다 타이머를 실행 시키는 방법에 대해 .... 초초보 1627 2009/12/28
59553             Re:Re:Re:매시 정각마다 타이머를 실행 시키는 방법에 대해 .... 장성호 2220 2009/12/28
59554                 Re:Re:Re:Re:매시 정각마다 타이머를 실행 시키는 방법에 대해 .... 초초보 2749 2009/12/28
Google
Copyright © 1999-2015, borlandforum.com. All right reserved.