Microsoft MVP성태의 닷넷 이야기
Winform Cold Start 로딩 속도 개선 방법이 없을까요? [링크 복사], [링크+제목 복사]
조회: 14253
글쓴 사람
삽질맨
홈페이지
첨부 파일
 

안녕하십니까?

회사에서 업무용으로 Winform 프로젝트를 하고 있는데 DevExpress 컨트롤 15 버전을 사용중입니다.

닷넷 프레임워크는 4.6 버전입니다.

사용자 PC 에 설치 후 부팅하고 나서 실행하니 역시나 초기 로딩이 좀 느립니다.

이런 저런 방법을 생각중인데 아래의 방법에 대해서 정성태님 의견을 좀 부탁드립니다.

1. 시작 프로그램에 DevExpress 주요 컨트롤이 포함된 단일 화면 Winform(자칭 부트스트래핑 기능) 을 설치해서 부팅시 자동으로
   실행되고 바로 종료하는 프로그램을 넣어볼까 합니다.
   의도하는 바는
   개발한 업무 시스템이 실행될때 닷넷 프레임워크와 DevExpress 컨트롤 라이브러리를 로딩하지 않고 시작프로그램에 넣어 놓은 Winfrom이
   로딩시켜 놓은 프레임워크와 DevExpress 컨트롤 라이브러리를 쓰게 되면 성능이 좀 더 개선 되지 않을까 해서입니다.
   이게 과연 제가 의도한대로 다른 프로그램에서 로딩한 라이브러리를 다른 프로그램에서 같이 공유해서 성능 개선이 될까요?
   
2. NGen 으로 해서 Navitve Image 를 먼저 생성하는 겁니다
   사용자가 PC 에 업무용 프로그램을 설치하고 나서 추가적으로 DevExpress 컨트롤에 대한 Native Image 를 만들까 합니다.
   테스트로 해보니 그렇게 성능 개선이 되지를 않는거 같습니다.
   정확한 테스트를 위해 회사 컴퓨터 2대를 포맷해서 한대는 NGen 을 만든거고 한대는 NGen 없이 구성했습니다.
   타이머로 시간을 측정하고 있는데 NGen 을 구성하지 않은게 더 빠른거 같기도 합니다.(제가 NGen 을 잘못 작업한건지 모르지만)
   Process Explorer 로 보면 NaviveImage 가 로딩된거는 확인했습니다.(DevExpress dll 몇개는 Native Image 가 있는데도 Navite Image 로
   로딩하지 않는 경우가 있습니다.)
   이론상으로는 성능개선의 효과가 있을텐데 실제 Cold Start 시 성능 개선의 효과가 있을까요?

3. 다른 성능 개선의 방법이 있으면 말씀해 주십시오.(Dll 을 줄이는 가이드는 딱히...^^.)








[최초 등록일: ]
[최종 수정일: 3/9/2016]


비밀번호

댓글 작성자
 



2016-03-09 01시46분
DevExpress 등의 라이브러리들을 무겁게 만들어 놓았으니... 참... 이게 방법이 없습니다. ^^;;; 일단 다 해보시고...

시작 메뉴에 등록하시고 트레이 아이콘 유형으로 늘 살아 있게 하는 것도 방법입니다. 사용자가 새로 실행하려고 하거나 트레이 아이콘을 더블 클릭하면 기존 응용 프로그램을 화면에 보여주는 식... 입니다.
정성태

... 16  17  18  19  20  21  22  23  24  25  26  27  28  [29]  30  ...
NoWriterDateCnt.TitleFile(s)
5151이대희5/3/20197359C# 7.3으로 개정판 출간 계획이 있으신가요? [1]
5150김이현5/2/20198738C# 딕셔너리 생성에 대해 질문드립니다. [1]
5149민성5/1/20196987ftp 이미지 업로드중 [1]
5148wpf질문4/30/20197360특정 사이트를 wpf에서 popup을 항상 허용하게 할려면 어떻게 해야할까요? [5]
5147민성4/30/20196359wpf에서 작업관리자를 띠울려면 어떻게 해야 하나요? [1]
5146불파겐4/25/20196436하나의 필드를 여러 스레드에서 읽어갈 때 스레드 동기화를 하지 않으면 문제가 생길까요? [2]
5145e구름4/17/20199397Properties.Setting.Default값에 대해 질문드립니다. [2]
5144성태님 ...4/17/20196589질문하시기 전에 10000 페이지 오류 납니다. [1]
5143헌이4/16/20197523윈도우 작업표시줄에 프로그램 띄우기 [2]파일 다운로드1
5142cab2...4/9/201913091C#으로 만든 DLL 배포하기 [10]
5141하늘사랑4/5/20197991Axinterop 래퍼에 관해서 질문드립니다. [7]
5140게스트4/1/20197629안녕하세요. 초보 개발자입니다. SD리더기에서 SD카드를 꽂으면 발생하는 이벤트 문의 [2]
5139김이현3/28/201910834C#에서 CRON 같은 스케줄러를 사용하려면 어떻게 해야 하나요? [3]
5138김지원3/22/20198485유니티 쉐이더에서 오로지 포워드 애드 패스로만 만들 수 있을까요? [1]
5137세퉁3/22/201910414wpf 쓰레드에 대해 질문 있습니다. [4]
5136KGY3/13/20197088안녕하세요 닷넷코어 콘솔 프로그램 관련 질문입니다. [1]
5135러쎌3/13/20197541ASP.NET 공부 관련해서 문의를 드립니다. [1]
5134이정호3/12/20196934SampleProfiler 예제를 이용한 Class 객체의 접근 문의 [1]파일 다운로드1
5133ㅇㅇ3/12/20197819멀티코어사용 방법에 궁금한것이 있습니다. [3]
5132존기미3/3/20198067Physical Disk Access문의 [1]
5131강용규2/25/20197166c# 개발자입니다. 타이머 질문드립니다. [1]
5130노인코래방2/25/201910685C#에서 가장 좋은 성능을 보이는 파일 읽고 쓰는 방법이 무엇인가요? [2]
5129진우2/23/201910152닷넷 32비트 기반에서 메모리 부족으로 프로그램이 죽는경우 문의 [2]
5128게스트2/23/20197833안녕하세요. 초보개발자입니다. [3]파일 다운로드1
5127c#2/20/20196869책에 예제 문의드립니다. [2]
5125게스트2/19/20196953delegate를 활용한 event 를 적절히 불러오고 싶습니다. [2]
... 16  17  18  19  20  21  22  23  24  25  26  27  28  [29]  30  ...