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
[23839] Re:[질문] TTimer 에서 Timer를 두개 이상 생성 했을경우.
김성진.kark [kark] 951 읽음    2003-01-24 10:22
다른분들이 답변하셨듯이 윈도우즈에서 제공하는 타이머는 정확하지

않습니다. 윈도우즈가 리얼타임 성격의 커널을 가지고 있는 것도 아니

고, 사용자가 접근할 수 있는 API 조차도 시스템콜이나 인터럽트 정도

수준의 정확도를 만족시킬려면 불가능에 가까울 겁니다.

그러면 어떻게 해야 1초마다 뿌릴 수 있을지요? 이는 데이터 로깅의 성격에

따라서 조금 다르게 생각해볼 수 있겠네요. 다행히도 데이터를 생성한

쪽이 실시간 베이스라면, 데이터 갯수 자체가 시간을 의미하겠죠. 예

를 들면, 데이터 로깅하는 곳에서 100msec 마다 의미있는 데이터를

생성하고 1초마다 전송을 한다면, 1/10 sec 성격을 가지게 됩니다.

이 데이터를 그냥 TChart에 뿌리면 그 성격이 그대로 반영되는 것이지요.

TChart에서 10초에 한번 뿌리던 상관없어진다는 겁니다.

하지만 데이터 로깅하는 곳이 실시간 베이스가 아니라면 그자체로 이미

1초의 정확한 시간에 디스플레이 한다는 것은 의미가 없게 되는 것입니다.

즉, 10개의 데이터를 1초에 한번 디스플레이 한다고 해서 resolution이 1/10 sec

라고 말을 못한다는 겁니다. 이런 경우는 그냥 대충 1초에 맞춰서 디스플레이

하면 됩니다. 이 상황에서 실시간으로 싱크를 맞춰라하는 것은 말도 안되는

요구입니다. 윈도우즈환경에서 데이터 생성해서, 디스플레이를 실시간으로

해라라는 요구가 이런 것이겠죠.

가장 어려운 경우가 실시간 데이터 로깅을 그대로 디스플레이에 반영하는

문제가 되겠죠. 하지만 이것도 큰 문제는 아닙니다. 결국 데이터 자체가

정확한 resolution을 가지고 있으니까 말이죠. 디스플레이시 정확한 시간을

체크하고 싶다면, 전송 시 프로토콜에 데이터 로깅의 시간을 일정 간격

삽입하고 체크할 수 있습니다. 이렇게되면 디스플레이시 업데이트는 조금

차이가 있겠지만, 싱크 맞추는 것은 그리 어려운 일이 아니겠죠.

결국 실시간으로 싱크를 맞추고 싶으시다면, 데이터 생성하는 곳이 명확한

실시간 스팩에 맞춰야 한다는 겁니다.

그럼 이만~~


강영준 님이 쓰신 글 :
: Timer를 두개 이상 생성 했을 경우 각각 1초씩 세팅을 했다면.
:
: 정확하게 두개의 타이머가 독립적으로 각각 시간에 동작을 하나요?
:
: 제가 경험해본결과는 서로 연관되어 정확한 1초가 안되드라구요.
:
: 도스 시절의 인트럽트 처럼 동작 되는 타이머는 따로 있나요?
:
: 넘 짜증 나네..
:
: 타이머 하나로 1초 간격으로 테이타를 챠트에 뿌려야 되는데..
: 다른 타이머 동작으로 정확하게 1초가 안되드라구요.
:
: 해결 방법좀 알려 주세요.

+ -

관련 글 리스트
23828 [질문] TTimer 에서 Timer를 두개 이상 생성 했을경우. 강영준 729 2003/01/24
31613     Re:[질문] TTimer 에서 Timer를 두개 이상 생성 했을경우. 김진호.불사새 797 2003/01/24
31612     Re:[질문] TTimer 에서 Timer를 두개 이상 생성 했을경우. 임문환 803 2003/01/24
23839     Re:[질문] TTimer 에서 Timer를 두개 이상 생성 했을경우. 김성진.kark 951 2003/01/24
Google
Copyright © 1999-2015, borlandforum.com. All right reserved.