kyuseo의 게임 프로그래밍
최대 윈도우 창 및 GDI객체, 리소스 핸들(Handle) 생성 개수 조절 본문
개요.. |
특히 최신 버전의 비쥬얼스튜디오 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메가로 할당 크기를 늘립니다.