作者oginome (荻野目洋子)
看板Emulator
標題[分享] 關於USB裝置延遲的檢測和改善
時間Fri Apr 5 15:58:50 2013
關於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)
推 CP64:分享推推 04/05 16:38
推 sifun:長知識 04/05 16:45
推 tonybin:推! 04/05 17:45
推 tonyhsie:推 04/05 18:35
推 Mar1boro:推 04/05 19:48
推 EDGE: 推這篇專業好文!借轉鍵鼠版~ 04/05 20:33
推 EDGE: 抱歉忘了問可否借轉?剛才先斬後奏轉的那篇已經刪了 04/05 20:35
EDGE大還有需要的話請轉。
其實會發這一篇就是因為您上一篇的推文~
→ SUCKERKING:其實有沒有效跟板子或電子元件比較沒關係,主要是cont- 04/05 20:36
→ SUCKERKING:roller的設計能不能做到每個USB frame(1ms)都回應host 04/05 20:37
→ SUCKERKING:的request。 04/05 20:38
→ SUCKERKING:另外還有一個小問題就是,這個跟熱插拔比較沒有關係。 04/05 20:46
→ oginome:EDGE大,沒關係的。 04/05 22:07
→ oginome:感謝SUCKERKING大指正,一開始會提熱插拔,實在是我忘不了 04/05 22:08
→ oginome:WIN98第一次展示USB作循環偵測的冏樣...一插,藍底白字 04/05 22:09
→ oginome:至於HOST去偵測USB裝置,和USB裝置回溯給HOST的確是兩回事 04/05 22:10
→ oginome:電子元件品質那邊比較是我的猜測,因為用軟體測試下來, 04/05 22:11
→ oginome:就羅技的無限鼠最穩定,其他裝置都會有不定時暴走現象 04/05 22:12
→ oginome:比如說雜牌手把,那個值跳的是滿厲害的,現在知道了是設計 04/05 22:12
→ oginome:的關係,感謝SUCKERKING大~ 04/05 22:13
→ SUCKERKING:剛好工作上專長是這方面的,大家互相交換心得,也要感 04/05 22:46
→ SUCKERKING:謝你提供的workaround,很有幫助。 04/05 22:46
推 conpo:長知識,同時感謝SUCKERKING板友補完。 04/05 22:49
※ 編輯: oginome 來自: 114.39.232.160 (04/06 04:29)
→ venusinfurs:win7下似乎無法正常運作 04/06 05:50
推 shinzaki:專業文推 04/06 07:42
推 kashin:長知識推 04/06 09:03