Windows Confidential조이스틱은 전자레인지가 아니다.

Raymond Chen

최근 동료 중 한 사람이 블로그에 올린 글 Audio Fool을 읽으면서 필자는 여러 해 전부터 마음을 불편하게 해 온 실수 하나를 떠올렸습니다. DirectInput® 힘 피드백 조이스틱 인터페이스 개발 작업이 진행 중이던 때, 제안된 인터페이스의 세부 사항에 대한 논의와 의견 수렴을 위해 저희는 워싱턴 주 레드먼드의 Microsoft 본사로 조이스틱 제조업체를 초대했습니다.

많은 것들이 논의되었지만 제 뇌리에 남아 있는 것은 주기적 힘을 주기로 표현해야 하는가 아니면 주파수로 표현해야 하는가에 관해 합의가 이루어지지 않았다는 점입니다. 참석했던 업체 관계자 중 한 분은 자기 회사에서 이미 주기적 힘을 주파수로 명시한 드라이버를 제작했고 변경을 원치 않는다며 소란을 피웠습니다. 그 회의가 새로운 인터페이스의 세부 규격을 논의해서 정하는 자리였다는 점을 감안한다면, 대체 어느 업체가 자사 드라이버를 전혀 변경하지 않고 회의를 마칠 것을 기대할 수 있을까요?

하지만 이 업체의 불만이 너무나 강했던 바람에 마침내 우리가 포기하고 주기적 힘의 정도를 주기 대신 주파수로 명시하기로 합의했습니다. 어느 쪽이든 크게 문제가 될 것 같지는 않았습니다. 초당 진동 수 10회의 주파수가 나타내는 힘은 10분의 1초의 주기를 가진 힘과 동일합니다. 주기와 주파수는 서로를 반대로 표현한 것에 불과합니다.

그런데 실상 그것은 정확한 사실이 아니었습니다. 주기는 밀리초(ms) 단위로 표현되며 1ms의 동적 범위는 50일까지입니다. 50일이라는 주기는 인간의 시간 감각으로는 인지할 수 없으며, 1ms라는 주기는 너무 빨라서 주기적 현상이라기보다는 음조로 인지됩니다.

반면, 주파수는 헤르츠(Hz)로 표현되며 1Hz의 동적 범위는 초당 40억 사이클까지입니다. 조이스틱으로 음악을 재생하는 것도 아니고, 생소하게 느껴지십니까? 전자레인지가 발산하는 주파수 대역으로까지 힘을 높인다고 상상해 보십시오!

문제는 주파수 대역의 최고역대 수치는 실용적으로 전혀 쓸모없는 높은 수준까지 표현되는 반면, 최저역대 수치 표현은 너무 부족하다는 점입니다. 비행 시뮬레이터는 주기가 비교적 길어 힘을 주기로 표현하는 것이 매우 좋은 것으로 드러났습니다. 자세한 물리학적 근거는 모르지만, 제가 들은 바로는 항공기 조종사가 다뤄야 하는 물리 효과는 몇 분 단위로 조종간에 작용하는 느린 주기적 힘이라고 합니다. 항공기는 매우 느린 수직 정현 곡선을 따라 비행하는 경향이 있으므로, 조종사는 이 경향을 상쇄하는 조종을 통해 평탄한 비행을 유지할 수 있습니다. 힘을 주기로 표현할 경우, 비행 시뮬레이터 프로그램의 힘은 120,000ms 주기로 명시할 수 있습니다. 그러나 주파수로 표현할 경우, 0.0083Hz가 되는데, 이 수치는 문제의 드라이버 인터페이스에서 표시할 수 있는 최저역대 주파수 1Hz보다 훨씬 낮은 수치입니다. 따라서 비행 시뮬레이터에서 요청할 수 있는 가장 느린 힘은 매초 단위로 반복되는 힘이고, 그러한 힘은 비행 시뮬레이터 프로그램에서 재현하고자 하는 물리적 효과에 비해 여전히 아주 빠른 속도의 힘이 되는 것입니다.

이후 여러 해 동안 이 문제로 계속 마음이 불편했기 때문에, 최근에 저는 힘 전달에 대한 설명서를 찾아보았습니다. 그런데 놀랍게도, DIPERIODIC 구조체에서는 주기적 효과를 주파수 대신 주기 단위로 표시하고 있는 것으로 나타났습니다. (또한 마이크로초 단위를 채택하고 있었습니다. 이제는 비행기 조종은 물론 음악도 재생할 수 있다는 뜻입니다.) 실수가 시정되었든가 제 기억력이 노화로 감퇴하고 있든가 둘 중 하나이겠지요. 어느 쪽이든 그 실수에 대해서는 더 이상 마음 쓰지 않아도 되겠습니다. 그런 실수가 있었다고 하더라도 말입니다.

Raymond Chen은 The Old New Thing 웹 사이트와 동명의 저서(Addison-Wesley, 2007)에서 Windows의 역사와 Win32 프로그래밍에 대해 다루고 있습니다.

© 2008 Microsoft Corporation 및 CMP Media, LLC. All rights reserved. 이 문서의 전부 또는 일부를 무단으로 복제하는 행위는 금지됩니다..