Polling Rate=輪詢頻率
以鍵盤、滑鼠等輸入設備的角度來看 USB Polling Rate,就不得不提到 USB 與 PS/2 介面傳輸資料的差異性。PS/2 是專門為鍵盤與滑鼠特化的連結傳輸埠,在此之前則採用 5pin DIN 和 DE-9(多數時候誤稱為 DB-9)RS-232C 作為傳輸埠。PS/2 傳輸資料的頻率預設為 100Hz(可調整至 200Hz),當滑鼠或是鍵盤想要傳輸資訊,如往左移、按下 W 鍵等,便會發出硬體中斷指令,讓 CPU 中斷目前所執行的工作,改而處理鍵盤與滑鼠的輸入指令。
另一方面,USB 鍵盤與滑鼠輸入則是透過系統輪流詢問的方式達成,系統以稱之為 Polling Rate 的間隔頻率(預設為 125Hz,最高可調整至 1000Hz),向鍵盤或是滑鼠詢問是否想要傳輸資訊,若鍵盤或滑鼠緩衝區內部有著按鍵按下或是移動資訊,則會在輪詢後發送至系統。
▲在玩家之間相當流行的 Mouse Rate Checker,其實並非用來檢查 USB 的 Polling Rate,而是統計滑鼠座標資訊更新的頻繁程度,因此必須在程式視窗內部快速移動游標,所呈現的數值才能夠逼近 USB Polling Rate 最大值。
以系統資源角度來看,PS/2 介面僅在資料傳輸時觸發硬體中斷,而 USB 則需要系統定時詢問,Polling Rate 越高越會消耗系統資源,處理 USB 訊號也比 PS/2 繁複;若是使用者經歷過 PS/2 與 USB 交接的年代,可以發現 USB 滑鼠移動順暢度並不比 PS/2,主因在於當年硬體效能不足。若是硬體效能達標且 Polling Rate 越高,USB 滑鼠使用者可以感受滑鼠游標移動較為順暢;相對而言 PS/2 採用硬體中斷處理輸入作業,且解讀方式相對 USB 簡單,PS/2 介面可以擁有較低的輸入延遲時間。
▲目前依舊保有 PS/2 連接埠的主機板並不多,主要集中在旗艦、高階強調電競的款式,或是用來升級老舊電腦的入門款式,需要介面相容性的特殊族群。
近年來受惠於電腦硬體效能增加,PS/2 與 USB 介面鍵盤、滑鼠的輸入體驗差距已逐漸縮小,且 PS/2 介面僅可供滑鼠、鍵盤使用,若是更換成 USB 則能夠相容更多的週邊裝置。除了部分相當敏感的玩家之外,如今選擇 PS/2 介面滑鼠、鍵盤多是為了相容性緣故,如 KVM、UEFI/BIOS 操作等,譬如筆者手邊就有 1 款無線鍵盤,電腦開機時偶而會初始化失敗無法使用。
2000Hz?
部分滑鼠型號宣稱擁有 1000Hz 以上的 Polling Rate 數值,如 2000Hz、3000Hz,超越 USB HID 規範數值又是如何辦到的?以滑鼠為例,第一種方式依舊保持 USB Polling Rate 為 1000Hz,但是光學感應引擎每秒取樣 2000 次,即可在每次輪詢傳輸 2 個座標。但由於 12、34 座標傳輸時間不同,較為敏感的使用者可能會察覺到 1 到 2、2 到 3 之間的細微時間差異,因此採用 1000Hz 以上的滑鼠並不多見,而且此時也不宜稱之為 Polling Rate。
第二種方式則跳脫 USB HID 規範,如此一來即可提供相當小的資料傳輸間隔,飆升至 10000Hz 並非難事。不過此時需要搭配廠商自行設計的驅動程式,才能夠正常使用滑鼠,若是遇到不支援的作業系統,如 DOS、Linux、Android,或是主機板 UEFI 介面,就無法使用這支滑鼠,因此第二種方法鮮少實作。
關於電腦詞彙 101……
加入電腦王Facebook粉絲團電腦詞彙 101 是電腦王的小品單元,旨在利用簡單的名詞解釋,讓新手逐步獲得相關原理知識,老手也可以藉此複習歸納所學。