Microsoft MVP성태의 닷넷 이야기
InitializeComponent 함수 호출 지연 현상 [링크 복사], [링크+제목 복사]
조회: 10145
글쓴 사람
김아영 (aykim at kriso.re.kr)
홈페이지
첨부 파일
 


안녕하세요!

프로그램을 하나 구현 했는데요 ..
제 작업 PC와 몇군데 테스트 해본 PC에서는 문제가 없는데요.
납품해야 할 PC에서는 처음에 폼띄우는게 너무 오래걸리네요.

그래서 메시지 박스를 여러군데 띄워놓고 확인해보니까, InitializeComponent 함수를 호출하는 순간 지연되는 현상이 나타납니다.
안에 컨트롤들도 단순하게 버튼이나 체크박스뿐인데요 ..
 
첨엔 컨트롤에서 문제가 생기나 해서 컨트롤 들을 조금씩 지워서 해봤는데도 똑같더라구요 ㅜㅜ
(다 지우기엔 컨트롤이 너무 많아서 다른 코드들에 너무 영향을 많이 끼쳐 확인하지 못하고 의심가는 컨트롤들만 확인 했어요..)

어쨋든 정리해 보면 ..
아래 함수를 호출하는 부분에서 호출전에 메시지 띄우고 나서 아래 메시지 띄우는 부분까지 한참 걸리네요..

public Form()
{
     // 첫 번째 아래 함수 호출 전 메시지 띄우는 곳 !
     InitializeComponent();
}

InitializeComponent()
{
     // 이 부분에 메시지를 띄웠는데, 첫 번째 메시지가 뜨고 나서 이 메시지가 뜨는데 한참 걸립니다 ..

     // 자동 생성된 코드 ..
}

도무지 감이 안오네요 .. ㅜㅜ
그렇다고 PC 환경이 특별히 다를 것도 없는데 그러네요 ..
제 작업 PC와 설치 PC 모두 Win7 32bit 이거든요 ..

조언 부탁 드려요!

 










[최초 등록일: ]
[최종 수정일: 5/29/2014]


비밀번호

댓글 작성자
 



2014-05-29 01시11분
Form 메서드에서 InitializeComponent 하기 전 메시지를 띄우고, InitializeComponent 메서드의 첫번째 코드로 메시지를 띄웠는데 그 시간이 오래 걸렸다는 것으로 이해되는데 맞나요?

현상만 듣고는 제가 경험해 본적이 없어서 뭐라고 말을 못하겠군요. ^^ 이론상으로 보면, 그 시간은 InitializeComponent 메서드의 IL 코드를 JIT 컴파일링 하는 시간외에는 없습니다. 그렇다면, 그 메서드의 코드가 비정상적으로 크다거나... 하는 식의 문제가 있어야 하는데, 그런 경우는 흔치 않을 테니 더 생각나는 것이 없군요.

어쩔 수 없을 것 같습니다. 어쨌든, 현상이 재현되는 컴퓨터에서 코드에 주석을 좀더 달아보시고 판단해 보는 수 밖에는.
정성태
2014-05-30 01시00분
[김아영] 그렇군요 ..

일단 이해하신 것이 맞습니다 ~
저도 아무리 고민을 해봐도 이유를 찾지 못하겠네요.
해당 PC를 제외하고 5군데 이상의 PC에서 테스트를 해봤지만 문제가 없거든요.
결국은 PC를 교체해야할 듯 싶긴 하네요 .. ㅜ
(해당 PC에서는 디버그를 할 수 없는 상황이네요.. 그래서 메시지로 확인한 것이거든요 ㅜㅜ 어느 구간이 느린지 확인하기 위해 ..)

무튼 답변 감사 드립니다 ^_^
[guest]
2014-05-30 01시10분
PC를 교체할 정도의 권한인데도 ^^ 디버그를 할 수 없다는 것이 잘 이해가 안됩니다. 암튼, 이런 케이스는 지금 당장은 피할 수 있어도 나중에 또 어느 순간 발생할 수 있기 때문에 현재 100% 재현이 되는 상황에서 문제를 최대한 살펴보시는 것이 좋지 않을까 싶습니다. (디버깅 경력이 쌓이다 보면... 100% 재현이 얼마나 축복인지 새삼 느끼게 됩니다. ^^)
정성태
2014-05-30 04시03분
[김아영] 아 그게요..

현장에 설치하는 PC인데, 해당 PC에 개발 환경이 준비가 되어 있질 않습니다..
교체하는 것도 사수와 협의해야하는 부분이거든요 .. ㅜ

말씀하신 것처럼 문제를 해결하고 가는 것이 좋겠지만 여건이 좋진 않네요 ㅜㅜ
전 대전에 거주하고 .. 현장은 여수 촌동네라 ..

교체 부분이 허락되지 않는다면 개발 환경을 설치해서 잡고 가겠죠 ~
문제점 발견하게 되면 알려 드리도록 하겠습니다 ^_^
즐거운 하루되세요 ~ !
[guest]
2014-05-30 12시51분
^^ 넵. 원인 파악 되시면 꼭 댓글 부탁드립니다.
정성태

... 46  47  48  49  50  51  52  53  54  55  56  57  58  [59]  60  ...
NoWriterDateCnt.TitleFile(s)
1144황은영5/29/201315805원격지 서버에서 COM+ 호출이 되지 않습니다. [7]
1143김선희5/28/201316740윈도우 8, 익스플로러 10, 64bit->32bit [1]
1142백지훈5/15/201311158음성인식 TTS 관련해서 질문드립니다 ㅜㅜ [2]파일 다운로드1
1141나그네5/10/201311241안녕하세요..전자세금 관련하여.. 보다보다 여기까지 왔습니다. [4]
1140이성환5/8/201311438제네릭과 배열 관련 기초 질문입니다. [11]
1139양영석5/3/201310001페이스북 로그인 관련하여.... [1]
1137김민현4/30/201310044Binary 구조체에 대한 Linq query 관련 질문입니다. [3]파일 다운로드1
1136박상영4/25/201310908ksc5601에서 지원하지않는 확장문자 찾는방법 [3]
1135sequ...4/16/201326502c# dll c++ 에서 사용하기 (event 사용) [17]
1134이성환4/12/201310689volatile 키워드 관련 질문입니다. [3]파일 다운로드1
1133서광석4/8/201313892vb.net 2010에서 배포시 문제점 확인 방법에 대한 질문드립니다 [1]
1131헤딩3/28/201316167IIS 처리 성능을 높이고 싶으면 풀의 proecss 수를 계속 늘리면 될까요? [1]
1130박재율3/27/201310445WCF 서비스가 종종 죽는데 도움좀 부탁드립니다 ㅠ [1]
1129이상민3/21/201314819안녕하세요...IE Embedded Smart Client가 Windows8에서 정상동작을 하지 않습니다. [8]
1125박홍균3/19/20138993안녕하십니까. visual studio 에서 TFS 접속 관련으로 궁금한 점 여쭤봅니다.
1124궁금이3/18/201312025IIS 서버 이중화 구성시 데이터 베이스 트랜잭션 관리에 관해서... [1]
1127궁금이3/19/20139441    답변글 [답변]: IIS 서버 이중화 구성시 데이터 베이스 트랜잭션 관리에 관해서...(정성태님 봐주세요)
1122김시현3/11/201310870 Xamarin 에 관련하여 질문드립니다. [4]
1121롬메달2/14/201310970Assembly.Load로 얻은 객체안에서 제3의 어셈블리를 참조할때의 문제입니다. [8]
1120Lyn2/12/201310478안녕하세요. 블로그에 기술관련글을 꾸준히 포스팅 하실 수 있는 원동력이 궁금합니다. [1]
1119박진영2/4/201333974닷넷 DLL 실행 에러 (보호된 메모리를 읽거나 쓰려고 했습니다..) [2]파일 다운로드1
1118C#조으다1/29/201312040공유기 관리 페이지에 접근시 윈도우 인증창이 뜹니다. [4]
1117최윤호1/28/20139822답변주셔서 감사합니다 질문의 요지는 그게 아니고 [1]파일 다운로드1
1116C#조으다1/27/201317026비프음을 컴퓨터 내장 스피커로 출력하려면.. [2]
1114박재율12/28/201210245WCF 세션과 스트리밍 동시사용에 관해. [1]
1113박진영12/28/201220638윈도우 2008 64비트 닷넷 오류 문의드립니다. [13]
... 46  47  48  49  50  51  52  53  54  55  56  57  58  [59]  60  ...