윈도우 dwm.exe와 60fps 고정 문제점

해당 글은 쿨엔조이 다됴아ㅎ님의 글이며, 괜찮은 거 같아 한번 퍼왔는데요.
문제가 될 경우 삭제할께요.(댓글로 달아 주세요)
http://www.coolenjoy.net/bbs/37/169939


잘 아시는 분들도 많지만 저도 최근에 안 사실이고 정확하게 이 사실이 전달 된 것이 아닌 것 같아서 적어봅니다. 이번에도 모바일이라... 가독성 문제, 불친절한 내용 양해 바랍니다.



윈도우 XP까지는 테마에서 비트맵 이미지를 사용합니다.

그러나 윈도우 비스타 부터 테마에서 그래픽 카드를 가속시켜 '그리는' 방식을 사용하는데 이러한 역할을 하는게 데스크톱 창 관리자 dwm.exe 입니다.



그래픽 카드 드라이버를 설치하지 않거나 홈 베이직 이하의 에디션에서 Windows Aero를 사용 할 수 없는 이유가 여기에 있습니다. 그래픽 카드 가속을 올바르게 해야 창이나 표시줄 같은 것들을 그려내는데 그정도 수준으로 가속하지 못하기 때문입니다.



Windows Aero는 저사양 컴퓨터들을 위해서 끄고 키는 방법 여러가지를 만들었는데 이러한 방식은 윈도우 7까지 이어집니다.

윈도우 8 부터는 dwm이 아예 윈도우의 시스템 프로세스로 승급되었고, explorer.exe가 실행되려면 반드시 dwm도 같이 실행되어야 합니다. 세트메뉴라고 보시먄 되겠네요.



그런데 dwm은 한가지 제약을 강제로 걸어둡니다, 바로 수직 동기화인데, 창으로 실행하는 모든 프로그램은 그래픽 드라이버의 설정을 완전 무시하고 모니터 폴링 레이트에 관계 없이 무조건 60fps으로 고정됩니다.



이는 이해할 수 있는 사항입니다. 왜냐하면 겨우 창 띄우는 것 때문에 그래픽 카드를 풀로드 해서 수천 프레임씩 찍어버리면 전기세도 많이 나오고 고주파도 날 것이며(일명 귀뚜라미 소리) 결국 다른 프로그램의 그래픽 성능에 영향을 끼치기 때문이죠.



하지만 dwm은 안타깝게도 DirectX를 이용한 게임이 '창모드'일 경우에도 강제로 60fps 고정이 되는데 위에도 말씀 드렸지만 그래픽 드라이버의 수직 동기화 강제 끄기 옵션도 씹어버립니다. 외국이나 국내나 이 상황을 인지하고 어떻게든 고쳐볼라고 노력 했겠지만 아무런 방법도 통하지 않는 것 같습니다.



물론 explorer.exe, dwm.exe를 동시에 종료 시키고 게임을 즐긴 후 다시 explorer.exe, dwm.exe를 동시에 켜주는 유틸이 있습니다만, 완전히 수동으로 동작하는 프로그램인데다가 제시한 방법대로 사용해주지 않으면 컴퓨터가 먹통되어 껐다 켜야 하는 상황까지 옵니다. 굳이 게임 하나 하겠다고 이렇게까지 하는 것은 옳지 않은 것 같습니다. 저 두 개의 프로세스가 종료 됨에 따라 어떤 오류나 충돌이 뜰지도 모릅니다.



수직 동기화는 그래픽 카드의 부하를 줄여주고 화면 울렁임 현상을 제거해 주지만 인풋렉, 화면 반응 속도 저하가 일어나는 것은 다들 알고 계실겁니다. 그러나 현재까지도 어떠한 방법으로도 게임 창모드에서 dwm으로 인한 60fps 고정을 해제할 수 없습니다.











따라서 운영체제를 막론하고 FPS, 레이싱 등등 반응 속도가 전적에 중요한 영향을 끼치는 게임들은 반드시 전체화면(창 없는 꽉찬 화면인가 하는 옵션도 결국 60fps 제한 받을 수도 있습니다. 테스트 해보지는 않았습니다.)을 권장하고 특히 윈도우 8 이상의 운영체제에서는 필수입니다.



윈도우 7 이하 운영체제를 쓰는 분들 중에서 무조건 창모드로 하고 싶으신 분들은 해당 프로그램의 속성에 들어가서 호환성 탭에 시각 효과를 끄는 옵션에 체크를 하시는 것을 강력 추천해 드립니다.

댓글 없음:

댓글 쓰기

글에 대한 의문점이나 요청점, 남기고 싶은 댓글이 있으시면 남겨 주세요. 단 악성 및 스팸성 댓글일 경우 삭제 및 차단될 수 있습니다.

모든 댓글은 검토 후 게시됩니다.

Translate