제가 RS232 통신을 제어 하다가 이해되지 않는 부분이 생겨서 질문을 드리려고 합니다.
통신제어 프로그램은 델파이2010 에서 개발을 했습니다.232통신은 ComPort(4.0버전)를 사용하고요.
프로그램이 하는 일은 약 1,000건의 데이타가 여러번에 걸쳐 나누어 전송이 되면 그 데이타를 받아서 화면에 아이콘 등을 변경시켜주고 나서 디비에 기록을 합니다. 그런데 동일한 프로그램을 윈도우XP(PC1)에서 실행 시키면 약 10초 내로 232통신을 처리 하는데 윈도우7(PC2)에서 실행 시키면 30~40초 정도로 처리 시간이 늘어지는 현상이 생깁니다.
혹시 디비에 데이타를 기록하는 데 걸리는 시간 문제인 듯 하여 윈도우7에서 화면 처리만 하고 디비 테이블에 인써트 하는 부분을 처리 하지 않게 해서 프로그램 테스트를 해보니 XP에서의 처리속도(화면처리,인써트처리를 전부 포함하는 속도)와 비슷합니다. 디비의 문제 일까요?
데이타베이스는 인터베이스-버전1.0.0.326-2000년쯤 배포된 버전. WIndowsNT 6.1(Build7600)-입니다.
OS가 윈도우XP에서 윈도우7으로 변경 되면서 인터베이스를 로컬서버로 설정을 하면 제가 만든 프로그램에서는 접속 에러가 나더군요. 그래서 리모트서버로 설정을 바꾸고 개발을 진행해 왔는데 이것이 영향을 끼칠 수도있을 것 같구요. 혹시 같은 경험을 하시거나 이 조합으로 개발을 하신분이 계시다면 도움 좀 부탁드립니다.
제가 테스트를 하면서 이 문제를 해결하기 위한 방법을
1.ComPort를 업그레이드 한다.(통신 속도가 문제라면)
2.디비를 업그레이드 한다.(디비에 기록하는 시간이 문제라면)
3.윈도우7의 에어로 옵션등을 변경해서 화면처리를 빠르게 해준다.
4.232통신 처리 부분과 디비에 기록하는 처리 부분의 로직을 변경 한다.
네 가지 정도로 생각해 보았는데요. 3번은 테스트 해보니 여전히 처리 속도가 느립니다.
혹시 제가 놓친 부분이 있다면 무엇인지 조언을 부탁 드립니다.
|