kyuseo의 게임 프로그래밍

최대 윈도우 창 및 GDI객체, 리소스 핸들(Handle) 생성 개수 조절 본문

컴퓨터 활용 팁

최대 윈도우 창 및 GDI객체, 리소스 핸들(Handle) 생성 개수 조절

kyuseo 2008. 9. 23. 10:19

개요..

 

특히 최신 버전의 비쥬얼스튜디오 4개이상 동시에 사용할 경우, 듀얼 모니터를 이용하여 많은 윈도우창을 실행할경우 여유 메모리가 있음에도 불구하고 Visual Stduio 및 각종 윈도우에서 할당하는 윈도우 핸들, GDI 객체의 개수가 무척 많기 때문에 더 이상 프로그램이 실행되지 않고 윈도우가 뜨지 않는 현상이 발생됩니다.

 

이 문제 때문에 수개월간 고생을 하였는데 아래 블로그에서 좋은 정보를 얻었습니다.

참고 블로그 : http://www.jiniya.net/tt/644

 

듀얼 모니터 사용시 더많이 띄우게 되는 수많은 윈도우들

 

 

리소스 과부하로 각종 메뉴가 생성되지 않고 윈도우(익스플로러)가 정상적으로 실행되지 않는 모습

 

 

해결방법

 

레지스트리를 조절하여 최대 윈도우 창 및 GDI객체, 핸들(Handle) 생성 개수 조절하는 방법

 

1. 레지스트리 편집기를 이용하여

 

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\SubSystems

으로 이동합니다.

 

 

2. Window 문자열을 아래와 같이 변경합니다.

 

C:\WINDOWS\system32\csrss.exe ObjectDirectory=\Windows SharedSection=1024,10240,768 Windows=On SubSystemType=Windows ServerDll=basesrv,1 ServerDll=winsrv:UserServerDllInitialization,3 ServerDll=winsrv:ConServerDllInitialization,2 ProfileControl=Off MaxRequestThreads=16

 

Windows SharedSection=1024,10240,768

 

이 값의 초기값은 3072인데 10240로 변경하여 3메가에서 10메가로 할당 크기를 늘립니다.