자유게시판
과연 인간이 1000hz 키보드와 200hz 키보드의 반응속도 차이를 느낄 수 있느냐-
다른말로 하면 1ms와 5ms 간의 차이- 4ms 의 차이를 인간이 느낄 수 있느냐
아주 오래된 유서깊은 논란인데요
생각을 해봤는데, 일단 인간의 신경자극 전달 속도는 100m/s로 알려져 있습니다.
그럼 1ms당 10cm 이고, 키가 180cm 이면 손까지는 9ms, 발까지는 18ms 정도까지의 시간이 걸립니다.
그런데 목이 결려서 목을 돌리는 행위를 할 때와
발가락이 근지러워서 꼼지락거릴 때 사이에,
내 발을 보면서 아 내 발이 손보다 겁나 반응이 늦구나 이런 느낌을 받진 않습니다.
내가 움직이려고 했는데 잘 움직이네 정도로 느껴지죠
여하튼 뭐 키 입력 반응 폴링레이트 차이라는 게, 뇌에서 손으로 가는 시간과 뇌에서 발까지 가는 시간의 중간 그어디쯤이라
당연히 인간이 느낄 수 없는 영역이라고 생각합니다.
문제라면 입력 이후 PC내에서 처리를 거쳐 모니터까지 피드백이 돌아오고, 눈에까지 보이는 시간까지의 누적 레이턴시가 얼마이냐 라는 부분인데요
레이턴시에 영향을 끼칠 수 있는 부분들을 보자면
키보드 : 1 ~ 5 ms
게임 프레임처리 + 렌더링 간격 : 16ms (게임 업데이트 60프레임 기준)
(온라인게임의 경우) 네트워크 레이턴시 : 8~20 ms
LCD 반응속도: 2~ 16ms
(온라인게임 핑은 20ms보다 더 나오는 경우가 보통이긴 하지만 대충잡았습니다)
온라인 게임에서 키보드를 제외한 팩터에서 최선의 값은 16 + 8 + 2 = 26ms
온라인 최악의 값이라면 16 + 20 + 16 = 52ms
키보드 넣고 27ms가 되는거나 30ms가 되는거나... 53ms가 되는거나 57ms가 되는거나...
사실상 키보드 반응속도를 넣든말든 레이턴시에 큰 비중을 차지하진 못합니다만
사람 감각이 아무리 둔해도 일정시간 이상의 레이턴시 차이는 느끼게 되는 것을 생각해 보면
4ms 때문에 '느껴지거나 느껴지지 않거나' 의 경계점을 가를 수는 있다 봅니다.
(예를 들어 약 24fps 인 41ms 일때는 그럭저럭 괜찮았는데, 45ms 가 되어버리면 느리게 느껴지게 된다거나)
하지만
위의 팩터중에서 손을 댈 수 있는 팩터는
키보드
PC 스펙
모니터
회선
등의 팩터가 있는데, 이 중에서 키보드는 절대적 비중도 낮고 가성비도 굉장히 낮은 축에 들어갑니다.
모니터를 반응속도 16ms 짜리를 쓰고 회선 핑이 20ms가 나온다면, 더 심하게는 애초에 60프레임이 나오지도 못하는 PC라면
키보드 4ms 줄이는 건 아무 소용이 없다 봅니다.
** 모니터 인풋랙이 얼마정도인지 대충기억해서 썼었는데, 다시 찾아보니까 9ms가 최하네요.; 2~16 수준이 아니라 좋아봤자 9~25 사이 수준...
예전에 논문을 읽은 적이 있는데요,
영화관의 협의를 받아 영화 중간중간 1프레임가량의 'Eat the popcorn'라고 써있는 화면을 화면을 틀때 팝콘의 버리는 양이 적어졌다고 합니다.(출처 아시는분의 제보 부탁드립니다.)
아주 약간의 차이이지만 무의식적으로 불편하다는 느낌을 받을 수 있지는 않을까요?
근데 이게 전혀 과학적으로 입증되지는 않았습니다만, 만년필 동호회에보면 남이쓰던 A 만년필은 아주 깔끔한 반응을 보이는데, 왜 내가쓰는 A 만년필은 아주 실망스러운 반응을 보여주느냐. 혹시 중간에 한번 생산공정이 변한적이 있냐? 라는 투의 질문이 올라오는 경우가 있습니다.
이게 무슨 경우냐면, 남이 쓰는 만년필은 그사람의 필각에 맞게 아주 잘 연마가 되어서 필각만 맞다면 최상의 필기감을 보여주는데, 연마가 재대로 되지 않은 만년필의 경우엔 그 필기감을 보여주지 못함에서 나오는 질문입니다만, 이게또 묘한게 만년필에 입문한지 얼마 않되는 사람은 그 둘의 차이를 모르는 경우가 많습니다.
즉 어느정도 만년필 사용이 익숙하고 다른 사람의 만년필과 자기의 만년필의 차이가 무었인지 손에서 오는 감으로 감은 잡은 사람들이 남기는 질문입니다. 물론 눈에도 보이는 경지까지는 가지 못했기 때문에 저런 질문글을 올리는것이기도 하구요.
이런 경우에서 보듯이 사람의 감각은 생각보다 예민하게 반응하기때문에 저같이 좀 무던한 사람이 아닌, 좀 빠른 반응을 보이는 사람들중에는 분명히 체감을 할수 있는 사람이 있다고 생각합니다.
인간의 눈은 24프레임 이상은 구분을 못한다고 했는데, 정작 30프레임과 60프레임을 구분하죠.
제가 탁구를 취미로 하는데, 그리 잘치는 편이 아닌데도, 1g도 안되는 탁구공들의 무게 차이를 느끼고,
예전에 요요를 좀 오랜 기간동안 했었는데, 같은 종류의 요요여도 0.1g 차이로 '좀 가벼운 것 같은데?' 라고 구분했었죠.
말씀하신 것처럼 모니터, 회선의 속도가 안맞춰진 경우에는 무의미하겠지만, 다 갖춰지고 동일한 조건에서 키보드 반응 속도 차이를 비교하면 느끼는 사람도 있지 않을까 조심스럽게 생각해봅니다.
금액적인 부분만이 아닌 시간이나 노력, 변화를 꾀하는중 장애물이 생기면 거기서 오는 스트레스등. 또한 사람이기 때문에 플라시보 효과나 그반대의 효과 등등 그 영향은 글로 다하기 힘들겠죠?
그렇기에 나와는 달라도 존중은 해줘야겠죠.
모니터 제품 사양을 볼때 근래에는 플리커도 봅니다. 아시다시피 모니터 밝기조절에 쓰이는 용어인데요. 밝기를 어둡게 할수록 화면 깜빡임이 많아지고 즉 화면꺼짐이 많아질수록 동일시간 화면에서 나오는 빛의총량이 줄어들어 화면이 어두워 보입니다. 사람눈에 어두워 보이는거지 화면 밝기는 일정합니다. 단지 우리가 인식하지 못한 일부의 시간동안 꺼져있을 뿐입니다. 우리가 인식하지 못하는 시간동안....
하지만 우리는 인식합니다. 화면이 저절로 꺼졌다 켰져다 하는 불량품으로가 아닌 눈의 피로로 인식합니다.
모니터밝기는 항상 최대로 하며, 어두운 환경에서 일을 해야 하면 그에맞는 최대한의 밝기를 유지해줘야 장시간 사용시 눈의 피로를 덜수 있다. 아니면 돈 더주고 어둡게 해도 안꺼지는 제품사라.
글보고 키보드 입력시간은 요즘엔 큰 의미없지 싶어 다음글 가려다 댓글보고 글 남깁니다.
그 영향이 크든 작든 사람은 느낀다?고 생각합니다. 의식하지 못하더라도.
레이턴시란 무엇인가~ 잠깐 짚고 넘어갑니다. 아두이노로 키보드를 만들면서 키보드 펌웨어를 제작해보면, 레이턴시는 실제로 중요한 역할을 합니다.
여기서의 레이턴시란, 단순히 A 키를 눌렀을 때 A키 신호가 실제로 전달될 때 까지 걸리는 딜레이만을 의미하는 것이 아닙니다. 리플레시 레이트라고 보는 것이 합당하리라 생각합니다.
키보드 펌웨어를 짜보면~ 예를 들어 키보드 매트릭스의 경우 키 체크 부분은 아래와 같은 구조가 됩니다.
for (i=0; i<=9; i++) digitalWrite(i, HIGH);
digitalWrite(0, LOW);
if (digitalRead(A0) == 0) Keyboard.press('A');
else Keyboard.release('A');
digitalWrite(0, HIGH);
digitalWrite(1, LOW);
if (digitalRead(A0) == 0) Keyboard.press('B');
else Keyboard.release('B');
digitalWrite(1, HIGH);
digitalWrite(2, LOW);
if (digitalRead(A0) == 0) Keyboard.press('C');
else Keyboard.release('C');
digitalWrite(2, HIGH);
digitalWrite(3, LOW);
if (digitalRead(A0) == 0) Keyboard.press('D');
else Keyboard.release('D');
digitalWrite(3, HIGH);
digitalWrite(4, LOW);
if (digitalRead(A0) == 0) Keyboard.press('E');
else Keyboard.release('E');
digitalWrite(4, HIGH); ~~ 이하생략
MCU
의 종류에 따라 문법은 다르겠지만 구조는 동일합니다. 이게 무슨 말이냐면, 키가 눌렸는지 아닌지를 검사하는 것은 모든 키가 동시에
이뤄지는 것이 아니라 맨 첫번째 키부터 맨 마지막 키까지 순서대로 한 바퀴를 스캔하는 방식으로 이뤄진다는 이야기입니다. 저 한
바퀴의 스캔에 걸리는 시간이 "반응속도" 구요. 즉 반응속도가 10ms이다 라는건 어떤 키를 실제 물리적으로 누른 뒤에 신호가 전달되기까지 10ms이 걸린다는 의미가 아닙니다. 극단적으로 예를 들어서 위와 같이 A, B, C, D, E 다섯 개의 키가 있는 키보드의 반응속도(=한바퀴 회전속도)가 10ms이라면 현재 MCU가 "B"키를 검사하는 차례였을 때 "C"키를 누른다면 2ms만에 입력신호가 전달됩니다. 하지만 "A"키를 누른다면 B>C>D>E>A 까지 돌아와야 하기 때문에 10ms이 걸립니다. 떼는 것을 감지하는 것도 마찬가지죠.
실제로 반응속도가 느리면 빠른 타이핑을 할 때에 키가 씹힙니다. 타이핑 속도를 분당 타수로 많이 쓰는데요, 예를 들어서 분당 500타 라고 한다면 1초에 8.33개의 키를 누른다는 것이고, 최소 8.33개의 키의 눌림과 떨어짐을 감지하려면 이것의 두 배인 16.66Hz, 즉 60ms 이하의 반응속도가 필요하다는 결론을 얻을 수 있습니다. 반대로 60ms=16.66Hz의 반응속도를 갖는 키보드로는 분당 500타를 초과해서 입력하는 경우 키가 불규칙하게 씹힙니다.
물론 방금 위 계산은 이론적으로 한 계산이므로 실제로는 계산의 두 배는 더 빨라야 실사용에서의 안정성(=최소한 빨리 친다고 키가 씹히지는 않는 수준)을 확보할 수 있다고 치고, 요새 사람들 분당 타이핑 800~1000타 가까이 할테니 넉넉잡고 15ms=66Hz 정도가 되면 타이핑에 문제가 없다고 할 수 있겠습니다. 특정한 작업이나 특정한 게임이라면 이것보다 빨라야 할 수도 있겠죠. 아무튼 대충 반응속도의 스케일은 이정도 됩니다.
제가 이 얘기를 꺼낸 이유는, 반응속도가 얼마인데 그걸 사람이 분간할 수 있느냐는 식의 접근 자체가 잘못된 것이라는 겁니다. 반응속도는 그냥 반응속도입니다. 분해능이 얼마나 상세한지는 용도와 목적에서 정상동작하는지 아닌지로 보시면 되는 것입니다.
근데 또 텍스트창에 쫙눌러보면 차이가 나는거 같기도 하는건 기분탓일까요??? ㅋ