Microsoft MVP성태의 닷넷 이야기
Internet Explorer 11 - GDI 리소스 누수로 화면 깨짐 현상 [링크 복사], [링크+제목 복사]
조회: 23382
글쓴 사람
정성태 (techsharer at outlook.com)
홈페이지
첨부 파일
 

Internet Explorer 11 - GDI 리소스 누수로 화면 깨짐 현상

재미있군요. ^^ 제가 주로 사용하는 2대의 PC(데스크탑, 노트북) 중에 유독 노트북에서만 이 현상이 나타나고 있는데요. 둘다 모두 Windows 8.1 환경인데 노트북의 경우 IE 11을 장시간 사용하다 보면 GDI 리소스가 누수되면서 대표적으로 다음과 같은 증상을 보입니다.

ie_gdi_leak_1.png

보시는 바와 같이 그래픽이 깨지는데요. 이때 작업관리자를 통해 iexplore.exe의 GDI 수를 확인해 보면 최대 10,000까지 늘어나 있습니다.

ie_gdi_leak_2.png

이로 인한 그래픽 깨짐 현상을 고치려면 작업관리자에서 해당 iexplore.exe 프로세스를 강제로 종료시키고 다시 시작하면 됩니다. 하지만, 지금까지 필요에 의해 열어 놓은 웹 사이트를 새로 열어야 한다고 생각하면 별로 유쾌하진 않습니다.




미리 말씀드리면 그 한대에서 발생한 GDI 리소스 누수 현상은 잡을 수 없었습니다. 단지 사용자 입장에서 이런 현상이 발생하는 것을 최대한 지연시키도록 설정하는 정도는 가능합니다.

이에 대해서는 다음의 글에 나와 있습니다.

How To Fix GDI Leaks In Internet Explorer 10 and 9
; http://www.techarp.com/showarticle.aspx?artno=789

아하~~~ 그렇군요. 이미 이런 현상이 9와 10에서부터 있었다는 이야기입니다. 어쨌든 다음과 같이 레지스트리 값을 변경해 주시면 됩니다.

ie_gdi_leak_4.png

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Windows
Value name: GDIProcessHandleQuota
Value type: REG_DWORD (32-bit)
Value data: c350

16진수로 c350이니까 10진수로 50000까지 프로세스(exe) 한 개가 사용할 수 있는 GDI 한계를 늘린 것입니다.

그래서 이제는 IE 11을 제법 오랫동안 사용해도 그래픽이 깨지는 현상은 없습니다. 그렇다고 리소스 누수 현상이 해결된 것은 아닙니다. 어느 순간 작업관리자로 확인하면 GDI 수가 계속 늘어나는 것을 볼 수 있습니다.

ie_gdi_leak_3.png

즉, 평상시 IE 11의 그래픽 깨짐 현상이 발생하기 까지 5배의 시간을 더 쓰게 되면 어쩔 수 없이 또 그런 문제가 발생하게 되는 것입니다.










[최초 등록일: ]
[최종 수정일: 1/15/2014]

Creative Commons License
이 저작물은 크리에이티브 커먼즈 코리아 저작자표시-비영리-변경금지 2.0 대한민국 라이센스에 따라 이용하실 수 있습니다.
by SeongTae Jeong, mailto:techsharer at outlook.com

비밀번호

댓글 작성자
 



2014-12-01 02시45분
[신택균] 이거 가끔 뜨는데 왜 패치를 빨리 내지 않는 걸까요? 쩝...
[guest]

[1]  2  3  4  5  6  7  8  9  10  11  12  13  14  15  ...
NoWriterDateCnt.TitleFile(s)
552정성태2/20/20241124Windows - 바탕화면에 검은 영역의 빈 공간을 삭제하는 방법
551정성태2/18/20241198DropBox - PermissionError: [WinError 5] Access is denied: 'C:\\Users\\...'
550정성태10/31/20232037윈도우 탐색기의 "새로 만들기" 메뉴에 "텍스트 문서" 항목이 없는 경우 - 두 번째 이야기
549정성태4/20/20234048youtube-dl을 파이썬으로 실행하는 방법
548정성태4/15/20233615Galaxy Buds2를 Windows에 연결한 경우 (Stereo가 아닌) Mono로 들리는 문제
547정성태1/28/20234091JetBrains Omea Reader에서 TLS 1.2 모드의 https 서버로부터 RSS 구독이 안 되는 경우 해결 방법파일 다운로드1
546정성태12/17/20225175blizzless-diiis 소개 - (C#으로 만들어진) Diablo 3 오픈 소스 서버
545정성태11/29/20226440[종료] [2차] "시작하세요 C# 10" 서적 나눔합니다. (5권)
544정성태11/6/20223933Camtasia - "변경된" 볼륨을 일괄 설정하는 방법
543정성태11/4/20226620[종료] "시작하세요 C# 10" 서적 나눔합니다. (4권 한정)
542정성태6/8/20225495입력 포커스를 가져가는 응용 프로그램을 확인하는 방법 - FocusLogger
541정성태6/7/20225219특정 USB 장치가 인식이 안 되는 문제
540정성태5/25/20225008구글 검색 시 "ko-kr"이 아닌 "en-us"에 해당하는 자료 검색 방법
539정성태5/23/20224935문법에 맞지 않는 learn.microsoft.com의 C++ 소스 코드
538정성태5/18/20225107WACOM Intuos Pro PTH-660 사용 후기 (개발자 입장)
537정성태3/17/20225542eFriend Plus 설치 후 실행이 안 되는 문제가 발생한다면?
536정성태1/13/202270972021년 블로그 기부 수익 공개 ^^
535정성태11/25/202175762021년 새로운 PC
534정성태10/19/20217747파판14 - 에오르제아의 시간 알람을 위한 C# WinForms 응용 프로그램 [1]파일 다운로드1
533정성태10/6/202110429모바일 브라우저에서 "비공개 연결이 아닙니다." NET::ERR_CERT_AUTHORITY_INVALID 오류가 발생하는 현상 [1]
531정성태9/1/2021704216GB로도 모자란 근래의 개발 환경
530정성태7/27/20215424그동안 마이크로소프트 계정으로 가입한 웹 서비스 및 응용 프로그램을 알아내는 방법
529정성태7/18/20215773C:\$Windows.~BT 용도와 삭제하는 방법
528정성태7/17/20217431Logitech Webcam이 있는 경우, %LOCALAPPDATA%\temp\LWSDebugOut.txt 파일의 (무제한) 증가 현상
527정성태7/13/20215653Microsoft Edge의 뉴스 알림 창 끄는 방법
[1]  2  3  4  5  6  7  8  9  10  11  12  13  14  15  ...