본문 바로가기

어떻게 할까/소프트웨어

Windows 10 DPC latency 문제, 해결 방법은 없다!

 Windows 10 이 나온지 벌써 꽤 오랜 시간이 지났는데다, 이 버젼 이후 부터는 새로운 윈도우가 아닌 빌드 버젼을 계속 올리는 형태로 바뀐 덕에 미친듯한 변태 기능들이 사용자가 바라던 말던 지속적으로 공급되고 있습니다. 위의 비행기에 가로 날개가 하나 더 생긴 느낌 입니다. 아주 대단하죠.

 이전의 구형 노트북에서 소리끊김 문제 를 해결 하지 못하고 있다가 다시 이걸 어떻게 하면 해결이 될까? 하고 보니, 이 문제는 Windows 10 의 DPC Latency 문제라는 것이었고, 원천적으로 해결 방법이 없다! 라는 충격적인 결론을 얻었습니다.

 처음엔 다음과 같이 최저 CPU 사용율을 조절 하면 DPC latency 를 해결 할 수 있다는 소리를 들어서 시도를 해 보았습니다...

전원 관리 옵션으로 최저 CPU 사용율 조절 시도...

 제어판에서 '전원'을 검색해서 나오는 옵션을 위 캡쳐 이미지 처럼 시도 해 보았습니다. 일부 사용자들은 위 방법에서 최소 프로세서 상태의 조건을 기본 5% 로 있는걸 20% 이상으로 설정 하면 소리 끊김 문제를 해결 할 수 있다는 글을 많이 봐서 시도 해 보았습니다만, 전혀 달라지지 않았습니다 !

 망할 Thinkpad E320 의 Conexant audio driver 를 해결 할 방법이 있는것도 아니고, 대체 뭐가 문제일까? 라고 찾아 보다가,이는 DPC latency를 확인 해 보아야 한다는 것을 알게 되었습니다.

 위에서 LatencyMon 6.51 을 내려 받은 다음 설치, 실행을 하게 되면 아래 이미지 처럼 DPC Latency 를 확인할 수 있게 됩니다. 물론 File 메뉴 밑에 시작 버튼을 눌러서 모니터링을 시작 해야 합니다.

범인은 ndis.sys

 소리가 끊기는 원인은 바로 ndis.sys 가 문제라 나옵니다만, 이 ndis.sys 는 WiFi 나 LAN 장치의 driver 와 연동되는 것으로, 이 driver 가 DPC latency 가 과도히 높을 경우 오디오 장치의 소리가 계속 밀리게 되는 원인이 되는 것 입니다.

 ndis.sys 가 혼자 100ms 정도로 오래 잡고 있으니, 오디오 장치에 새로운 버퍼가 채워 지기 전에 지연상태가 되어 소리가 끊어지는 것 이었습니다.

 문제는 WiFi 를 끄고, 네트웍을 사용하지 않으면 아래처럼 latency 가 감쪽같이 낮아 집니다. 즉, WiFi 드라이버가 이런 문제를 일으키게 된 것입니다.

 하지만 문제는 이 WiFi 문제를 해결할 방법이 없다는 점 입니다. 노트북이라 내장된 장치를 안 쓸수가 없다는 것과, 특히 Thinkpad E320 처럼 비디오 장치가 2개 이상 달린 하이브리드 제품들은 해결 방법이 없다는 것이 현재 문제라고 합니다.

 즉, Windows 7 에서는 보지도 못한 이 신박한 문제가 Windows 10 에서는 High DPC latency 란 이름으로 많은 문제들을 야기 하고 있습니다. 새로운 driver 구조를 사용해서 성능이 올라 가는 것이 아니라, 더 많은 문제를 일으키고 있고, 이것이 지금 계속적으로 새로운 빌드가 올라 옴에도 해결이 전혀 되지 않고, 조금만 오래된 노트북만 되도 이런 문제들이 지속적으로 터지는 것은 물론, 신형 장치에서도 USB 3.0 장치등에서 이런 latency 문제가 발생하고 있습니다.

 대체 다른 platform은 물론, 이전 Windows 에서도 구경하기 힘든 문제점들이 왜 아직 해결이 안되는지는 platform design의 문제가 아닐까? 란 의문을 가집니다.

 대체 뭘 어찌 해야 하나, M$?

 답이 없어 더욱 더 답답해 집니다. MB 도 아니고 진짜 ...