loading

PC.Div.Soft/Windows.Office

HPET 활성/비활성화

나에+ 2017. 11. 9. 12:12
반응형

■ 참조

고정밀 이벤트 타이머   (위키)

- 고정밀 타이머   (마이크로 소프트)


콘로 시절, 페넘 시절때부터 보이던 HPET는 인터럽트(장치가 신호를 주면 CPU가 주기적으로 확인해서 그걸 처리하는 방식) 방식인 현존 x86 시스템에서 좀 더 정밀한 타이머를 사용해 미디어 스트리밍, 각종 이벤트 체크 등에 있어 일부 어플리케이션의 성능 향상이 있으며, 윈도 VISTA부터 올바르게 지원하는 것으로 알고 있었다. 그렇기에 UEFI내에서 윈 XP 쓸 적에는 비활성화, 7을 사용한 후, 혹은 우분투 등의 OS를 사용할 때엔 활성화를 했는데, 이후엔 쭉 활성화 된 상태로 쓰고 있다가 재밌는 글을 보고 찾아봄.


이전에 라이젠 이슈에서도 잠깐 봤었는데 이러한 기능들은 2017년에서 보자면 호환성 측면을 본다면 켜 두는 게 맞는 설정이라 생각된다. 다만 OS에서 이러한 타이밍을 체크할 때엔 여러가지 방식이 있으니까 한 가지 방식만 사용하게 하는 게 중요하다고 하며, MS에서는 이 HPET를 쓰면 전력 소비가 느는 경향이 있다고 하고, 사실 아직 크게 활용하는 프로그램을 찾기 힘든 것도 사실. 종종 DPC 레이턴시를 낮추기 위해 비활성화 하는 사람도 있고 하니 자신의 환경에 맞춰 테스트하고, 필요에 따라 UEFI내에서 켜고 끄는게 맞지 않나 싶다.


http://www.overclock.net/t/1567745/windows-10-disable-hpet-before-install-and-enjoy-low-latencies

https://www.reddit.com/r/Planetside/comments/416ns6/turned_off_hpet_in_windows_10_now_i_have_an_extra/

https://www.neowin.net/forum/topic/1075781-tweak-enable-hpet-in-bios-and-os-for-better-performance-and-fps/


윈10 등은 HPET가 아니라 CPU TSC(Time Stamp Counter)를 사용하기도 한다고(더 많이 CPU 오버해드를 줄이고, 대기 상태를 늘려 전력 소모를 쥐어짜는게 윈도 10 기반의 장치들이니까)를 사용하기에 최신 시스템에서도 HPET는 비활성화 하는 편이 좋다고 하는 글들도 있고, HPET는 OS와 소프트웨어가 구현된 방식에 따르는 것이기에 사용하는 프로그램이 있다면 켜 두는 게 맞다는 사람들도 있었다(기본 값은 꺼져 있음). 어떤 유저는  6600K 시스템에서 HPET를 끄니 프레임이 올랐다고 하고, 또 어떤 사람은 4Way SLI에서는 HPET를 켜는 게 더 프레임이 잘 나왔다고도 함.


게임면에서는 대부분의 시스템에서(스카이레이크까지) 이를 비활성화 하는 게 게임 프레임 획득에 이득이 있다고 결론지어지는 것 같다. 오버워치 등에서. 아무튼 자신이 사용하는 프로그램에서 별다른 문제를 찾지 못한다면 HPET는 비활성화해서 여분의 프레임을 획득하는 것도 좋은 방법이라고 본다.




(활성화(위) / 비활성화(아래) 상태에서 파크라이 벤치마크 프레임을 보도록 하자)


아무튼 윈도에서 활성/비활성화 하는 방법은 CMD(관리자 모드)에서 아래 명령어를 입력하고, 재시작해주면 된다.


HPET 활성화 - bcdedit /set useplatformclock true

HPET 비활성화 - bcdedit /deletevalue useplatformclock (이게 안된다면 bcdedit /set useplatformclock false 로- 에러가 뜬다면 HPET가 작동하지 않고 있었다는 이야기니 안해도 무방)


이를 참조해 사용하면 되고, 아예 UEFI에서 비활성화해버리는 것도 나쁘지 않은 방법이라 본다. 아래는 HPET활성/비활성화 체크 프로그램. 실행해서 14mhz단위가 뜬다면 HPET가 사용되는 경우고, 그 외엔 OS기본 값이라고 하니 체크해 보도록 하자.

WinTimerTester_1.1.zip


반응형