[分享] 關於USB裝置延遲的檢測和改善

看板Emulator作者 (荻野目洋子)時間11年前 (2013/04/05 15:58), 編輯推噓16(16019)
留言35則, 19人參與, 最新討論串1/1
關於USB的延遲問題,這邊有個簡單的解說,大家參考看看: USB因為在一開始制定規格的時候要因應"熱插拔",所以USB被設計成一直循環偵測, WINDOWS(包括WIN8)的預設值下是一秒鐘回饋125個訊號,也就是USB掃描頻率是125Hz ,即是125(次/sec),其中 1 赫茲(Hz)= 1 (次/sec); 1 秒(sec) = 1000 毫秒 (ms) 週期與頻率互為倒數,故USB的掃描一次的時間為 1/125 = 0.008(sec/次),即表示 0.008秒 = 8毫秒 (ms)一次,如果我們玩的遊戲是60FPS(frame/sec)滿速,則1毫秒是 0.06 (frame/sec),0.06*8=0.48(frame),也就是每0.48個frame,USB就傳回一次訊 號給系統,但不巧在遇到對frame要求比較精準的遊戲的時候(音GAME、SF、TEKKEN或 VF等),往往在關鍵時刻上沒辦法即時傳回值給系統(人眼判斷和訊號時間差),於是 就造成延遲感很重的現象,而一般遊戲其實延遲個一下是不會有太的感覺的,若要改 善這種現象,我們能用的方式就是增加USB的回溯頻率,由每秒125次增加為每秒1000 次,1/1000 = 1 ms,1ms * 0.06 (frame/ms) = 0.06 frame,也就說每0.06格就能 傳一次值給系統,這麼一來就大幅改善USB的延遲現象,不過要是USB裝置接太多的話 ,POWER穩定度要夠哦,當然USB晶片和電路板的設計、電子元件品質的好壞也是影響 掃描頻率穩定度的重要關鍵。 那測試工具如下: 1.USB滑鼠測試工具,mouserate tets http://tinyurl.com/cjj22ej 解壓縮之後,點擊執行檔,然後隨意滑動滑鼠,這時候回傳頻率就會在右方顯示 出來,預設都會在125Hz上下跳動。 2.USB頻率修改工具,hidusb http://tinyurl.com/ck4vows 解壓縮之後,點擊DRIVER內的Setup.exe,他會跳出一個視窗,然後把下方的 Mouses Only核取方塊打勾給取消,這麼一來就能看到所有的USB裝置,選取 欲修改的裝置,然後在視窗左下勾選"Filiter On Device",然後把右邊的 Default改成1000即可,改完後按"Install Service"等裝完按Restart,後直接 重新開機就完成修改。 3.USB頻率修改工具2 http://tinyurl.com/bn649w2 解壓後為一個命令題是字元視窗,直接鍵入1000後按ENTER,重開機,以後所有的 USB裝置的掃描頻率一律改為1000Hz。 以上,希望有給大家一些幫助。 -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 114.39.232.160 ※ 編輯: oginome 來自: 114.39.232.160 (04/05 16:01)

04/05 16:38, , 1F
分享推推
04/05 16:38, 1F

04/05 16:45, , 2F
長知識
04/05 16:45, 2F

04/05 17:45, , 3F
推!
04/05 17:45, 3F

04/05 18:35, , 4F
04/05 18:35, 4F

04/05 19:48, , 5F
04/05 19:48, 5F

04/05 20:33, , 6F
推這篇專業好文!借轉鍵鼠版~
04/05 20:33, 6F

04/05 20:35, , 7F
抱歉忘了問可否借轉?剛才先斬後奏轉的那篇已經刪了
04/05 20:35, 7F
EDGE大還有需要的話請轉。 其實會發這一篇就是因為您上一篇的推文~

04/05 20:36, , 8F
其實有沒有效跟板子或電子元件比較沒關係,主要是cont-
04/05 20:36, 8F

04/05 20:37, , 9F
roller的設計能不能做到每個USB frame(1ms)都回應host
04/05 20:37, 9F

04/05 20:38, , 10F
的request。
04/05 20:38, 10F

04/05 20:46, , 11F
另外還有一個小問題就是,這個跟熱插拔比較沒有關係。
04/05 20:46, 11F

04/05 22:07, , 12F
EDGE大,沒關係的。
04/05 22:07, 12F

04/05 22:08, , 13F
感謝SUCKERKING大指正,一開始會提熱插拔,實在是我忘不了
04/05 22:08, 13F

04/05 22:09, , 14F
WIN98第一次展示USB作循環偵測的冏樣...一插,藍底白字
04/05 22:09, 14F

04/05 22:10, , 15F
至於HOST去偵測USB裝置,和USB裝置回溯給HOST的確是兩回事
04/05 22:10, 15F

04/05 22:11, , 16F
電子元件品質那邊比較是我的猜測,因為用軟體測試下來,
04/05 22:11, 16F

04/05 22:12, , 17F
就羅技的無限鼠最穩定,其他裝置都會有不定時暴走現象
04/05 22:12, 17F

04/05 22:12, , 18F
比如說雜牌手把,那個值跳的是滿厲害的,現在知道了是設計
04/05 22:12, 18F

04/05 22:13, , 19F
的關係,感謝SUCKERKING大~
04/05 22:13, 19F

04/05 22:46, , 20F
剛好工作上專長是這方面的,大家互相交換心得,也要感
04/05 22:46, 20F

04/05 22:46, , 21F
謝你提供的workaround,很有幫助。
04/05 22:46, 21F

04/05 22:49, , 22F
長知識,同時感謝SUCKERKING板友補完。
04/05 22:49, 22F
※ 編輯: oginome 來自: 114.39.232.160 (04/06 04:29)

04/06 05:50, , 23F
win7下似乎無法正常運作
04/06 05:50, 23F

04/06 07:42, , 24F
專業文推
04/06 07:42, 24F

04/06 09:03, , 25F
長知識推
04/06 09:03, 25F

04/06 12:31, , 26F
用轉接器時曾經用過,程度有限,後來還是選原生usb比較實在
04/06 12:31, 26F
EDGE:轉錄至看板 Key_Mou_Pad 04/06 14:39

04/06 14:40, , 27F
昨晚不能轉,今天又可以轉了,感謝分享~
04/06 14:40, 27F

04/06 22:09, , 28F
04/06 22:09, 28F

04/07 02:02, , 29F
用了工具修改之後 我的羅技F510反而不能用 裝置出現!
04/07 02:02, 29F

04/07 16:25, , 30F
專業文推
04/07 16:25, 30F

04/07 23:37, , 31F
WIN7和WIN8我倒是沒試過,不能用的朋友請改回來,我再找
04/07 23:37, 31F

04/07 23:37, , 32F
看有沒有合用的工具
04/07 23:37, 32F

04/08 04:24, , 33F
專業好文
04/08 04:24, 33F

04/08 13:02, , 34F
推!
04/08 13:02, 34F

04/08 22:08, , 35F
04/08 22:08, 35F
文章代碼(AID): #1HNeGyxG (Emulator)