現在大家的電子設備基本上都用上了Wi-Fi 、藍牙,線設備也越來越流行,再也不用面對雜亂無章的線纜,這似乎是一件好事,但無線也帶來了一個又一個的問題,本文作者曾經是一個無線的倡導者,本文作者分析了無線存在的各種問題,說明了為什么他已經“叛變”,重回有線陣營,他說,對wifi、藍牙和相關協議了解得越多,他就越相信,無線往往比有線更糟糕。
我曾經是一個反對各種線纜的斗士。我討厭雜亂無章的電線,而且我還有不自覺地咬耳機線的壞習慣。但當我遇到一個又一個無線帶來的棘手錯誤時,尤其是在這段遠程工作期間,我的觀念改變了,對wifi、藍牙和相關協議了解得越多,我就越相信,無線往往比有線更糟糕。
舉個例子:大多數人,當他們的視頻通話出現卡頓時,都會怪他們的互聯網服務提供商。這是可以理解的,因為大多數互聯網服務提供商都是價格過高的寡頭壟斷者,他們的軟件很難用,客戶服務也很糟糕。然而,當我每次我幫助別人搞清楚他們的網絡連接問題的源頭,罪魁禍首往往都是他們的wifi。而通常情況下,最簡單的解決方法就是接根網線。
Wifi(還有藍牙等)通過讓你覺得 “它就是好用 ”來騙你。但如果你調查一下,你往往會發現,無線鏈接是在降級的狀態下運行的,就像CPU的降頻,其性能比同等的有線鏈接差很多。由于這種降級是悄無聲息發生的,所以看上去往往不是無線的問題,相反,你很可能會得出結論,是你的設備/軟件/自己的問題。
我一次又一次地看到人們解決一些與無線相關的問題,然后說:“哇,我不知道這能好多少!”
最近,我終于怒氣沖沖地把辦公桌上的所有無線設備都換成了有線設備。雖然我不得不在線纜管理上投入一些資金(并努力克服我咀嚼耳機線的習慣),但我能夠達到和無線幾乎同樣的整潔程度,而且可靠性、質量和速度都要好得多。我再也不用擔心我的設備無法配對、電池耗盡,或者在直播演講時出現卡頓,大大降低了設備帶來的痛苦。
管理我桌上的線纜。
下面的線纜管理較少。
為了說明我所說的痛苦程度,下面我將介紹我在處理無線協議上遇到的一些微妙的、難以察覺的但卻很嚴重的問題。如果你覺得我說的有道理,你也可以試一下放棄無線,你也可以弄清楚你是否已經成為無線陷阱的受害者。
Wifi
干擾。如果多個無線網絡在同一個 “頻道”(無線電頻段)上運行,它們的傳輸可能會相互干擾。當這種情況發生時,你的設備需要重新發送相同的信息,這將使你的wifi速度變慢。
你可能認為這可以通過讓路由器自動找出最不容易受到干擾的信道來解決,但很多路由器似乎在這方面做的相當糟糕。(另外,舊的2.4GHz wifi協議只允許使用三個不重疊的信道)。
這意味著在密集的地區(如公寓樓),路由器經常會選擇一個不好的信道,最后互相干擾。如果你的路由器或設備遇到干擾,它沒有辦法通知你,所以只有當你知道你的路由器 “應該 ”有多快,并注意到它比較慢時,你才會知道。
死角。如果你離路由器太遠,你的電腦可能無法穩定地接收到路由器發送的信號。多遠是 “太遠 ”也受到很多因素的影響,包括墻壁或天花板。除非你很了解無線電波如何與建筑材料相互作用,否則很難預測你的死角在哪里。
最糟糕的是,許多死角并不是完全死的:你的電腦和路由器會在放棄之前多次嘗試重傳每個數據包,而且往往最終會通過。如果這就是你遇到的情況,這就不是死角,這是一個 “慢區”,這里能連上網,但非常不穩定。
當然,除非你密切關注你的網絡性能統計,以及它們與你的空間位置的關系,否則你永遠不會注意到一個慢區。如果你注意到了什么,那就是有時你的網絡會隨機地比其他時候更糟糕。
輪詢(Polling)。電腦上的任何程序都可以要求你的無線網卡列出附近的網絡。這將導致它進入 “輪詢模式”,在這種模式下,它花費較少的時間傳輸數據,而更多的時間接收路由器廣播他們的網絡信息(路由器不能在同一時間傳輸和接收)。因此,它會導致突然爆發的網絡延遲,例如,會導致你的視頻通話卡頓或停止幾秒鐘。
大多數程序員沒有意識到無線網絡輪詢會影響網絡性能,所以他們要求操作系統瘋狂地進行輪詢。我已經被這種情況折磨過很多次了。
最惡劣的例子,是當我注意到我的視頻通話有時卡頓有著奇怪的規律頻率。下面是我追查罪魁禍首的曲折過程:
我每隔一秒就給Ping的路由器一次,持續大約10分鐘,然后把輸出結果用Excel繪制出來,確認慢速ping的間隔正好是30秒。這讓我猜測可能是軟件問題。
我在Facebook上求助,有人推薦啟用macOS無線調試日志。
我啟用了調試日志,并注意到幾個應用程序,當我打開它們時,程序會請求網絡掃描,有時與增加的ping延遲相關。
把范圍縮小到這幾個應用后,我在AskDifferent(蘋果相關的問答社區)上詢問如何阻止這些軟件這樣做。
在AskDifferent上有人將問題追蹤到Qt上,Qt是一個制作用戶界面的軟件框架,被數百萬用戶的應用所使用。
Qt包含了一個組件,它每隔30秒就會對網絡進行一次輪詢,每30秒就會導致幾乎所有使用網絡的Qt應用降低你的wifi性能。
已經有多個關于這個問題的bug報告,其中一個被工程師標記為 “已解決”,因為他們允許用戶使用一個環境變量來禁用輪詢。
當然,這是一個沒啥用的 “解決方案”,因為大多數用戶不會意識到他們的wifi降級了;意識到的用戶也不會意識到這是Qt的錯;哪怕你找到了問題所在,仍然很難在谷歌上找到合適的修復方法(更不用說實現它了,除非你會編程)。
這種行為是如此的對用戶不友好,而 “解決方案 ”又是如此的可笑,似乎很可能是Qt的開發者們沒有意識到問題的嚴重性,我猜它毀掉了大約一百萬人的視頻通話體驗,因為,它影響了已經被下載了7500萬次的qBittorrent。這一百萬人中的大多數人可能還沒有足夠的技術來弄清楚如何 “將QT_BEARER_POLL_TIMEOUT環境變量設置為-1”。(幸運的是,在2017年,在最初的bug報告三年后,他們終于意識到他們應該停止輪詢并以正確的方式修復bug)。
Qt是最嚴重的問題,但它不是唯一的問題。即使是macOS也有一個bug,當你打開Spotlight時,同樣的事情也會發生(我經常在視頻通話時這樣做,如果有人讓我看一個特定的文件,或者如果我想去在視頻通話的時候去開個網頁)。我不得不通過禁用Spotlight結果類型來解決這個問題,直到我發現是哪一個類型導致了這個問題。所以看來連蘋果自己的開發者都沒有意識到wifi輪詢是一種危害。
藍牙音頻
高延遲。大多數藍牙耳機都有150-300ms的延遲(我的電腦從網絡接收音頻到耳機發出聲音之間的時間)。這意味著,如果我和紐約的朋友聊天,音頻數據從他們到我的電腦需要50ms,而從我的電腦到我的耳朵需要200ms-4倍的時間。由于高延遲破壞了談話的自然流程,我希望盡可能地消除延遲。
如果藍牙耳機支持正確的 “編解碼器”,比如 “AptX低延遲”,就有可能實現低延遲的藍牙耳機。當然,除了理論上支持編解碼器外,它們還得同意你的電腦使用它,這有時會失?。z查正在使用的編解碼器的選項埋藏在各種隱藏的菜單和設置中)。
低質量。與編解碼器問題有關,許多藍牙設備在關閉麥克風時,會播放高質量的音頻,但在打開麥克風時,就會降格為低質量得多的音頻。如果你有一個藍牙耳機,你可以自己測試一下:用它播放音樂,然后打開你的麥克風設置到顯示麥克風輸入音量的頁面。你可能會聽到音頻被切斷一秒鐘,然后以較低的質量返回。即使是你可能期望的高端設備也會發生這種情況,比如我的Airpods Pro + 2018年的Macbook Air)。
藍牙的其他問題
藍牙bug。盡管現在幾乎所有的電腦都內置了藍牙,但許多藍牙配件還附帶了使用不同協議的專有適配器。(例如Jabra耳機、這款耳機麥克風。)這些適配器顯然使用了不同形式的無線傳輸,因為藍牙耗電量大,增加了延遲,而且可靠性較低。
例如,在我的Mac的內置藍牙上,我的鼠標(羅技MX Master)顯示出明顯的卡頓,跳動,而不是平滑移動。我在三臺不同的Mac上都遇到過這種情況,所以這似乎很可能是一個軟件問題。當我切換到使用羅技的適配器時,卡頓就消失了。
同樣,當連接到 Mac 藍牙時,我的 Jabra Evolve 75 耳機會經常出現麥克風或聲音音量降低的情況。它(大多數情況下)在自己的適配器上工作正常。
我不知道該把這些問題歸咎于Jabra/Logitech還是蘋果(或藍牙標準機構)。但無論如何,當設備制造商放棄藍牙,轉而使用其他需要每個設備配備一個適配器的協議時,我們知道藍牙已經失敗了。
藍牙最初的目標是將不同的無線設備統一在一個無線電和協議中,就像哈拉爾藍牙王(藍牙這個名稱的來源)統一丹麥,終結海盜時代一樣。然而在現實中,我最近不得不買了一個USB集線器,只為我的鍵盤、鼠標、耳機和麥克風的適配器。
可靠性。即使是專有適配器,無線設備的可靠性也遠不如有線設備。例如,我在上文中寫道,我的羅技MX Master在切換到專有適配器后工作正常,但這并不完全正確:它工作了一段時間,然后有一天,它又開始無緣無故地卡頓。那一天,我終于下定決心,扔掉了桌子上的無線設備。
我遇到的其他藍牙bug,需要我每周取消配對和重新配對幾次。例如,我的AirPods有時會 “不同步”,這樣一個耳機比另一個提前幾毫秒播放音頻,造成一種奇怪和非常令人不愉快的回聲效果。
干擾??煽啃圆畹囊粋€可能原因是藍牙和2.4GHz wifi會相互干擾。就像wifi的干擾一樣,如果你的設備遇到干擾,永遠不會得到設備的警告;你只會感受到突然的卡頓。
充電。這不是藍牙本身的錯,但使用太多無線設備的一個缺點是,它真的很煩人,要記住讓設備全部充電。我往往在關鍵的時候沒電了,例如在視頻通話時。
結論
這些問題大多有幾個共同點。
不是完全不能用,而是體驗不好。這意味著我沒有立即注意到問題的存在。
更加復雜的是,我不知道這個設備 “應該 ”如何工作,所以我花了很長時間才注意到它處于降級的狀態。
即使我意識到了問題,也很難或不可能解決它,因為我不知道正確的方法(或者解決方法不存在)。
我希望我的設備是可預測的,具有一致的性能。無線協議本質上更復雜(因為許多設備共享同一網絡空間),并且有更多不同的出問題的方式,所以它們比有線更難預測。對我來說,無線帶來的便利性往往不值得付出這種代價。
我還是會在明顯值得的情況下使用無線設備,例如,我的筆記本電腦用wifi,因為需要拿著它到處走,我的手機用無線充電器,因為我并不追求充電速度。但對于嚴肅的工作來說,我會花時間去擺弄電纜布線,給所有東西接上線。
這讓我想知道,如果我們把目前花在無線上的10%的精力,投入到巧妙的有線解決方案上,世界會是什么樣子。我敢打賭,很多依賴無線的活動,比如視頻通話、游戲等,會變得更加愉快。
? ? ? ?責任編輯:pj
評論
查看更多