logo

한국어

게시판






조회 수 821 추천 수 5 댓글 4
?

단축키

Prev이전 문서

Next다음 문서

크게 작게 위로 아래로 댓글로 가기 인쇄 첨부
?

단축키

Prev이전 문서

Next다음 문서

크게 작게 위로 아래로 댓글로 가기 인쇄 첨부

요즘 게이밍 키보드들이 폴링 레이트가 1KHz다! 그래서 빠르다! 뭐 이런 광고를 많이들 하죠?

이 부분에서의 허와 실에 대한 이야기를 해보려구요. 가볍게.


키보드는 스위치를 누르는 순간부터 시작해서 그게 컴퓨터에서 입력이 되기까지 많은 과정을 거칩니다.

그리고 그 지연시간이 의외로 큽니다.

왜 그럴까요?


먼저 스위치 구조가 문제가 됩니다.

우리가 많이 쓰는 체리 MX 스위치는 판 스프링 구조를 가지고 있는데,

요 판 스프링이 눌리고 나면 떨림이 생겨서 접점이 붙었다 떨어졌다 하게 됩니다.

그래서 안정되는 시간이 필요한데, 이게 체리사의 스펙상 5ms 정도입니다.

멤브레인이나 무접점의 경우는 이 값이 달라지게 되구요, MX 호환 스위치도 제조사마다 좀 특성 차이가 있는 듯 합니다.

이런 면에서, 스피드 스위치가 얼마나 효과가 있느냐?

알 수가 없지요. ㅎㅎㅎ


요 부분에서 재미있는 자료를 방금 찾아서 링크해 봅니다.

https://geekhack.org/index.php?topic=42385.0

이 글에 따르면, 아래 그림처럼, 스위치를 누르고 나면 한동안 값이 왔다갔다 한다고 합니다.

뗄 때도 마찬가지구요.

qhVMghZ.png

그런데, 알프스 스위치가 상당히 성능이 좋다고 하는군요.

정말 많은 스위치를 테스트해서 최대값을 얻은 것 같지는 않아서 신뢰성은 떨어지는 편이지만 흥미롭습니다.


이렇게 입력값이 안정되는 시간을 주는 것을 디바운싱이라고 합니다.



그 다음에 입력 시간에 영향을 미치는 건, 스캔 주기입니다.

키보드를 저렴하게 구현하기 위해서, 키보드는 일정 주기마다 어떤 키가 눌렸는지 확인하는 방법을 사용합니다.

즉, 키가 눌리면 곧장 키보드 컨트롤러가 알 수 있는 게 아니라, 누르고 있는 동안 컨트롤러가 그 사실을 확인해야 입력이 시작되는 거죠.

그래서 얼마나 자주 확인하는지에 의해 입력 지연 시간이 변하겠죠?

게다가, 앞에서 이야기한 디바운싱 검사를 위해서, 대체로 최소 세번 이상의 값 비교를 한 후에야 키 입력을 인정하니까, 스캔 주기가 상당히 심각하게 중요합니다.


문제는 이걸 줄이는 게 힘들어요.

키보드에 쓰이는 컨트롤러 성능이 매우 낮기 때문에, 1ms에 한번 스캔하게 만드는 것도 엄청난 노력이 필요해요.

좋은 컨트롤러만 쓰면 좀 더 쉬워지겠지만 키보드가 비싸지겠죠. ^^

그 점에서 유레 기판이 대단한 겁니다.

저렴한 MCU를 쓴 괴수가면님 기판의 경우는 스캔 주기가 20ms 까지도 올라간다고 하더라구요.



그리고 가장 애매하게 영향을 미치는 요소가... 폴링 레이트 입니다.

이건 USB 인터페이스를 쓰는 키보드에서만 발생하는 문제인데,

장치가 컴퓨터에 연결할 때, 얼마마다 한 번씩 키 입력이 들어왔는지 확인해 주세요! 하고 설정해 주는 값입니다.

그래서 만약 키보드가 5ms 만에 키 입력을 만들어도, PC가 10ms 마다 키 입력이 들어왔는지 확인하면, 아무런 의미가 없다는거죠.

대체로 게이밍 키보드들이 강조하는 게, 자기들은 요 폴링레이트를 1ms로 설정하고 있다! 그 정도 입니다. 

이건 아주 쉽게 할 수 있어요.

그냥 장치 등록할 때 들어가는 값 하나만 바꾸면 되니까요.

하지만 스캔 주기가 어떻게 될지는 아무도 모르는 겁니다.

정 알고 싶으면, 한 스위치에 오실로스코프를 붙여서, 어느 주기로 입력확인 전압이 들어오는지 체크하는 방법밖에는 없어요.


높은 폴링 레이트가 악영향을 미치기도 하는 게,

윈도우 운영체제는 USB 1.1 인터페이스인 경우에 모든 입력장치의 폴링 레이트를 초당 125회로 제한을 한다고 합니다.

그래서 마우스의 폴링 레이트가 떨어져서 뭔가 답답해지는 문제가 발생하는 거죠.

요게, 초기 게이밍 키보드들이 저지른 실수라고 하더군요.

오히려 게이밍 성능이 떨어져버리는 문제가 일어난 거죠. 

그래서 PS/2 키보드와 USB 마우스로 구성해서 이 문제를 피할 수 있다고 합니다.

뭐, USB 2.0 인터페이스부터는 이 문제가 없다고는 하니 요즘은 큰 문제가 되지는 않겠네요.



대충 최근에 궁금해서 알아본 내용을 끄적여 봤습니다.

제대로 된 정리는 나중에 해보기로 하고, 여기서 끝. ㅎㅎㅎ

  • ?
    kconfire 2017.10.13 00:02
    깔끔하고 이해하기 쉬운 설명 감사드립니다!
  • ?
    테레비2 2017.10.13 00:16
    아아..... 너무 좋은 글입니다. 여기는 역시 연구소네요 ㅎㅎ 이런 글이 많이 올라오면 좋겠어요! 나의 추....추천을 받아랏!!!!!!! 이얍!!!!!!!!!
  • profile
    극한공대 2017.10.13 17:15
    좋은 정보 배우고 갑니다ㅎㅎ
    추천!!!
  • ?
    newbie 2017.10.14 22:14
    어렵지만 좋은 정보글이군요 ㅠㅠ

List of Articles
번호 제목 글쓴이 날짜 조회 수
공지 2022년 7월 1일부로 회원 정리 안내 12 아침에™⇔N² 2022.06.09 3336
공지 키보드랩 이용규정 아침에™⇔N² 2021.11.22 3583
공지 [공제/공구] 가격/품목 등 정보 61 철혈마제 2015.03.09 36439
공지 키보드랩 사용주의사항. 11 duck0113 2014.06.03 40413
3187 제가 생각하는 최고의 스테빌방식 file Revodono 2014.07.30 1826
3186 [완료] NerDy GUI 지금 바로 XP 혹은 윈8에서 테스트 가능하신 분 급구요~ 19 GON 2014.07.30 1768
3185 볼텍스 CAST 알루 하우징.. 16 file 노블환이 2014.07.30 2506
3184 NerD 쓰시는 분들 하드웨어 매크로좀 팍팍 쓰시라능... 19 GON 2014.07.30 2347
3183 NerD Firm 1.6& NerDy GUI 1.1릴리즈 + 동영상 매뉴얼도 업데이트 30 GON 2014.07.30 2271
3182 키랩 나빠요ㅜㅜ 24 Revodono 2014.07.30 2165
3181 아 아이폰... 17 스피노자 2014.07.30 2020
3180 nerd 기판 매크로가 토글기능이 있었네요?!! 2 매그도나르도 2014.07.31 1891
3179 07.31일자 02D 커스텀 펌웨어 업데이트 안내 - v1.4.305 - 덕미니 추가 7 영휘다(02D) 2014.07.31 1819
3178 짝통 레인드랍? 실물이 나왔네요. 16 Revodono 2014.08.01 2422
3177 업로드 하지 말라는건가봐요 3 file 플랜C 2014.08.02 2025
3176 다베오님용 임시도면입니다.(오전중에 자삭합니다) 4 file 산디포 2014.08.03 2118
3175 4, 4444 9 file Limmy 2014.08.03 1860
3174 NerDy GUI 1.2 버젼업 자료실에 등록되었습니다. 8 GON 2014.08.04 1520
3173 Vergo MX 기판 도착했습니다. 3 file 버밀리언 2014.08.04 1724
3172 카일 스위치(적/갈) 무보강 드랍안내 5 LifeZone™ 2014.08.04 1887
3171 알루 보강 첫 경험 -ㅅ-~ 6 버밀리언 2014.08.04 1999
3170 커피셋이 국내도착했어요 *-* 10 CalmOfNight 2014.08.04 2102
3169 헉... 이론... 4 뚜비뚜비뚜뚜바 2014.08.04 1903
3168 인두기에 대한 짤막한 의견 16 아침에™ 2014.08.05 9327
목록
Board Pagination Prev 1 ... 52 53 54 55 56 57 58 59 60 61 ... 216 Next
/ 216