顯示卡直播/錄影卡頓、編碼器過載點分辦?NVENC/AMF 編碼負載、OBS 編碼器過載訊息、渲染與編碼分工、位元率同擷取設定排查指南
重點摘要
直播錄影卡頓好多時唔係顯示卡壞,而係渲染同編碼爭資源,逐項降設定隔離就分到原因,再對照編碼器數據先好下定論。
點解會有硬件編碼:NVENC 同 AMF 係咩
打機畫面本身係由顯示卡即時算出嚟嘅一格格影像,要直播或者錄影,就要將呢啲影像壓縮成影片檔案或者串流先傳得出去。如果全靠處理器用軟件慢慢壓,處理器負擔會好重,遊戲同其他程式都可能一齊慢落去。為咗解決呢個問題,現代顯示卡入面另外有一組專門做影片編碼嘅硬件單元,NVIDIA 嗰邊叫 NVENC,AMD 嗰邊叫 AMF 體系下嘅硬件編碼器。佢哋嘅工作就係接過已經算好嘅畫面,用硬件電路快速壓縮,理論上可以減輕處理器嘅壓力,令直播同錄影更加順暢。
不過要留意,硬件編碼器並唔係無限快,亦唔係完全獨立於成張卡嘅狀態。佢雖然有自己嘅編碼管線,但仍然要同顯示記憶體頻寬、驅動程式排程,以及成張卡嘅供電同散熱狀態打交道。當遊戲本身已經將顯示卡推到好高負載,或者輸出解像度同幀率定得太高,編碼器要處理嘅數據量就會跟住大增,排隊等候嘅時間亦會拉長。理解呢一點好重要,因為好多直播卡頓並唔係編碼器本身壞咗,而係成個系統同一時間要做太多嘢,編碼呢一步追唔切前面送嚟嘅畫面。
另外,唔同世代嘅顯示卡,硬件編碼器支援嘅編碼格式同功能都有分別。有啲舊卡可能只係支援某啲編碼格式,或者喺高解像度同高幀率下支援有限;有啲新卡就支援更多格式同更高效率嘅壓縮方式。呢啲差別唔代表舊卡一定壞,只係代表用家要按自己張卡嘅能力去定輸出設定,唔好一開始就將所有選項推到最高。喺排查之前,先搞清楚自己用緊邊一種編碼器、邊一種編碼格式,係一個好基本但好容易被忽略嘅步驟。
渲染同編碼係兩份工,要分開睇
好多人會將顯示卡負載當成一個整體數字,但直播卡頓嘅排查一定要將渲染同編碼分開睇。渲染係指遊戲或者應用程式即時計出畫面嘅過程,包括幾何、光影、貼圖同後期效果;編碼就係將已經渲染好嘅畫面壓縮成影片。兩者雖然都喺顯示卡上面發生,但用嘅資源同瓶頸唔同。渲染太重,遊戲本身幀率會跌;編碼太重,直播或者錄影嘅畫面會窒,但遊戲本身可能仲行得順。
呢個分別解釋咗點解有時打機覺得順,但觀眾睇到嘅直播會一格格跳;又有時遊戲本身已經好窒,直播自然更加唔會順。第一種情況,問題焦點可能喺編碼設定、輸出解像度或者編碼器排隊;第二種情況,就要先處理遊戲渲染負載,例如降低遊戲畫質、解像度或者幀率上限,否則就算編碼設定點改,都救唔返一個本身已經算唔切嘅畫面來源。
喺實務上,分開睇嘅方法好簡單:先睇遊戲本身順唔順,再睇錄影或者直播順唔順。如果遊戲順但錄影窒,編碼嗰邊出事嘅機會較大;如果遊戲同錄影一齊窒,就要先懷疑渲染負載、散熱、供電或者驅動等更底層嘅因素。將兩者撈埋一齊講成張卡唔掂,好容易行錯方向,換設定又換線都搵唔到原因。
OBS 出現編碼器過載訊息,到底講緊咩
用 OBS 直播或者錄影嘅用家,好多時會喺軟件下方或者記錄檔見到類似編碼器過載嘅提示。呢句說話嘅直接意思,係編碼器喺一段時間入面收唔切要處理嘅畫面,導致有啲幀要被跳過或者延遲。佢唔係一句籠統嘅顯示卡損壞診斷,而係一個負載訊號,話俾用家知而家嘅設定同負載組合,已經超出編碼管線可以即時消化嘅速度。
值得注意嘅係,編碼器過載可以係間歇性,亦可以係持續性。間歇性過載多數出現喺畫面突然變得複雜嘅時候,例如遊戲由靜態場景轉去高速打鬥、大範圍粒子效果或者快速轉鏡頭,編碼器要處理嘅資訊量短時間內急升。持續性過載就多數代表設定本身已經長期超標,例如輸出解像度同幀率太高、編碼品質預設太重,或者同時開住多個需要編碼嘅來源。分辨間歇定持續,對於之後點樣調整好有幫助。
另外,OBS 嘅提示本身唔會話你知邊一個環節最重,佢只係反映結果。用家要再配合 OBS 嘅統計數據同系統監察工具,先可以判斷係渲染定編碼、係設定定硬件、係遊戲定其他程式喺度爭資源。單憑一句過載訊息就斷定要維修顯示卡,係太過跳躍嘅結論。
編碼器排隊、掉幀同網絡掉幀要分清楚
直播卡頓有幾種唔同機制,表面睇落都係窒,但成因完全唔同。編碼器排隊造成嘅問題,係畫面喺編碼之前已經塞住,結果係錄影或者直播嘅幀唔齊、動作唔連貫,但網絡本身可能完全正常。呢種情況喺純錄影都會出現,因為錄影根本唔經過網絡,如果錄影都窒,就更加證明問題唔喺網絡嗰邊。
另一種係渲染掉幀,即係遊戲本身算唔切畫面,送去編碼器嘅畫面已經唔齊。呢個時候就算編碼器本身好得閒,觀眾睇到嘅畫面都會窒,因為源頭已經缺幀。第三種係網絡掉幀,即係編碼完成嘅影片數據傳唔切出去,直播平台收唔齊資料,觀眾嗰邊就會窒或者起格,但本地錄影可能完全正常。將呢三種分清楚,係排查最關鍵嘅第一步。
一個好實用嘅對照方法,就係同一時間做本地錄影同直播測試,再分開做淨錄影測試。如果淨錄影都窒,網絡可以暫時放低,集中睇渲染同編碼;如果淨錄影順但直播窒,網絡同上傳頻寬就要認真檢查;如果遊戲本身已經窒,錄影同直播都唔會順,就要先由遊戲設定同顯示卡負載入手。呢個分流邏輯可以慳返好多亂試設定嘅時間。
| 症狀表現 | 較可能嘅環節 | 優先檢查方向 |
|---|---|---|
| 遊戲順,本地錄影窒 | 編碼負載過高 | 降低輸出解像度、幀率,改用較輕嘅編碼預設 |
| 遊戲本身已經窒,錄影同直播都窒 | 渲染負載過高 | 降低遊戲畫質、解像度,檢查散熱同驅動 |
| 本地錄影順,直播先窒 | 網絡或者上傳 | 檢查上傳頻寬、網絡穩定性,唔好先懷疑編碼器 |
| 間歇性窒,只喺激烈場面出現 | 瞬間編碼需求急升 | 降低峰值負擔,關閉額外特效同預覽負擔 |
位元率、預設、Lookahead 同 B 幀嘅取捨
位元率簡單講就係每秒用幾多數據去形容一段影片。位元率愈高,理論上畫面細節保留得愈多,但編碼器同網絡嘅負擔都會跟住增加;位元率愈低,傳輸同儲存壓力細咗,但快速移動或者複雜場面就容易出現起格、模糊同色塊。直播同錄影嘅取捨唔同:直播受平台同網絡限制,唔係愈高愈好;錄影就可以按儲存空間同後製需要去定,但同樣要顧及編碼器負擔。
編碼預設就係一組品質同速度嘅平衡選項。一般嚟講,偏向品質嘅預設會用更多運算去估計畫面變化、壓得更有效率,但代價就係編碼時間更長、更容易過載;偏向速度或者低延遲嘅預設,運算較輕,過載機會較低,但同樣位元率下畫質可能差啲。好多用家一開始就將預設推到最高品質,結果遊戲一激烈就過載,其實退一格預設,畫面差別未必肉眼好明顯,但流暢度就可能差好遠。
Lookahead 同 B 幀屬於更進階嘅編碼選項。Lookahead 係編碼器預先睇多幾格畫面,先決定點樣分配位元率,理論上可以令畫質更穩定,但會增加延遲同運算負擔。B 幀就係一種參考前後畫面去壓縮嘅幀類型,用得多可以慳位元率,但編碼複雜度同延遲都會上升。呢啲選項本身冇絕對好壞,關鍵係要睇用家追求嘅係低延遲定高畫質,以及部機喺遊戲負載之下仲有幾多餘力。如果已經出現過載訊息,第一步往往唔係再加呢啲進階功能,而係先將佢哋關閉或者調低,睇下過載會唔會消失。
| 設定項目 | 調高嘅代價 | 調低嘅代價 | 排查時嘅建議 |
|---|---|---|---|
| 輸出解像度同幀率 | 編碼數據量大增,容易過載 | 畫面細緻度下降 | 先由輸出端降起,唔好一開始就降遊戲本身 |
| 位元率 | 編碼同網絡負擔上升 | 激烈場面容易起格 | 按平台同錄影用途分開定,唔好一刀切推高 |
| 編碼品質預設 | 運算更重,過載風險上升 | 同位元率下畫質可能稍差 | 過載時先退一格,睇下流暢度有無改善 |
| Lookahead 同 B 幀 | 延遲同運算負擔上升 | 畫質分配可能無咁精細 | 懷疑過載就先關閉,再逐項加返 |
遊戲同編碼爭資源,點樣睇得出
遊戲同編碼爭資源,最常見嘅表現就係兩邊都唔夠順,但單獨行一邊又好似冇事。例如淨係打機好順,一開直播就開始窒;或者淨係錄影好順,一開遊戲加直播就過載。呢啲都指向資源競爭,而唔係單一硬件突然損壞。競爭可以發生喺顯示卡運算、顯示記憶體、處理器排程,甚至係磁碟寫入速度,特別係錄影去同一隻速度較慢嘅硬碟,又或者同時開住瀏覽器、通訊軟件同其他會用顯示卡加速嘅程式。
要確認係咪競爭,可以做一個好簡單嘅減法測試:先關閉所有非必要嘅覆蓋層同背景程式,包括遊戲內覆蓋、即時預覽、瀏覽器硬件加速分頁同其他錄影工具,再用同一場景同一設定試一次。如果關閉之後過載明顯減少,就代表之前係多個程式喺度分薄資源;如果關閉之後依然過載,就要再睇設定本身係咪已經超標。呢個測試唔需要任何新硬件,已經可以排除好大一部分誤判。
另外,畫布解像度同輸出解像度嘅分別亦好容易被忽略。畫布係 OBS 內部處理畫面嘅尺寸,輸出先係真正編碼送出嘅尺寸。如果畫布定得好大,再加埋多個來源同濾鏡,OBS 本身嘅合成負擔都會增加,間接加重成個管線。排查時可以試下將畫布同輸出都降到一個合理水平,睇下過載係咪跟住消失,再逐級加返去搵出臨界點。
擷取卡同 GPU 編碼,兩者角色唔同
有啲用家會用擷取卡,以為加咗擷取卡就唔再關顯示卡事。其實要分清楚兩種用法。第一種係同一部電腦入面用擷取卡擷取另一部裝置嘅畫面,呢個時候擷取卡負責接收訊號,但最終編碼同直播仍然可能要靠呢部電腦嘅處理器或者顯示卡去做。第二種係雙電腦直播,一部打機、一部專門編碼,咁樣先至真正將遊戲渲染同編碼分開去兩部機,減輕單一部機嘅負擔。
如果只係單電腦加擷取卡去擷取同一部機嘅畫面,效果未必如想像中咁大,因為遊戲渲染同編碼仍然喺同一部機入面競爭。擷取卡本身亦有自己嘅限制,例如支援嘅解像度、幀率同訊號格式,如果設定超出擷取卡能力,畫面一樣會窒或者出唔到。排查時要先搞清楚訊號行緊邊條路:係顯示卡直接輸出編碼,定係經過擷取卡再編碼,兩者嘅瓶頸位置完全唔同。
同樣道理,外置擷取裝置經 USB 連接時,USB 頻寬同供電都會影響穩定性。如果畫面間歇黑屏、起格或者突然斷訊號,唔好第一時間就認定係顯示卡問題,要檢查擷取裝置嘅連接方式、線材同驅動設定。將訊號路徑畫清楚,先至唔會喺錯嘅環節不斷換設定。
點睇 OBS 統計同 GPU 影片編碼圖表
OBS 入面嘅統計視窗係排查最有用嘅工具之一。佢會顯示渲染掉幀、編碼掉幀同網絡掉幀嘅比例,三者分開計,剛好對應前面講嘅三種機制。如果編碼掉幀比例明顯上升,就集中處理編碼設定;如果渲染掉幀先升,就集中處理遊戲同合成負載;如果網絡掉幀先升,就集中處理網絡。睇統計數字嘅時候,唔好只睇一秒嘅瞬間值,要睇成段直播或者錄影期間嘅趨勢,特別係激烈場面同靜態場面嘅分別。
系統監察工具入面嘅 GPU 影片編碼圖表亦值得睇。呢個圖表反映硬件編碼器嘅使用率,如果長時間貼近上限,就代表編碼管線真係好忙;如果編碼使用率唔高但 OBS 仍然話過載,就要懷疑係其他環節塞住,例如渲染、記憶體頻寬或者軟件排程,而唔係編碼器本身唔夠力。將兩個數據一齊睇,先至唔會單憑一個百分比就下結論。
另外,溫度同功耗圖表亦要一齊睇。如果顯示卡溫度長期處於降頻邊緣,渲染同編碼表現都會一齊受影響,呢個時候單純降編碼設定可能只係治標,真正要處理嘅係散熱、風道或者風扇狀態。排查嗰陣記低幾個關鍵數字:遊戲幀率、編碼掉幀比例、編碼器使用率同溫度,咁樣之後無論自己再試定係拎去檢測,都有具體資料可以對照,唔使憑感覺講順定唔順。
一步步隔離排查:由最簡單做起
第一步,先做淨錄影測試。唔開直播,只錄影一段平時最容易出事嘅遊戲場景,睇下錄影檔本身順唔順。如果淨錄影都窒,問題集中喺渲染同編碼;如果淨錄影順,之後先再開直播對照網絡環節。呢一步已經可以將一半可能性排除。
第二步,降低輸出解像度同幀率。例如將輸出由高解像度降一級,幀率由高幀率降到一個較穩妥嘅水平,再試同一場景。如果過載消失,就代表之前嘅設定已經超出部機喺遊戲負載下嘅編碼能力,之後可以逐級加返,搵出一個穩定同畫質之間嘅平衡點。呢個方法比一次過改晒所有設定更加準確,因為每次只改一個變數,先至知邊個改動真正有效。
第三步,更改編碼預設同關閉進階選項。將品質預設退一格,關閉 Lookahead,減少 B 幀數量,再試一次。如果改善明顯,就代表編碼運算本身太重,之後可以按需要再慢慢加返。第四步,關閉覆蓋層同背景程式,減少資源競爭。第五步,檢查驅動程式係咪最新穩定版本,舊驅動有時會令編碼排程唔穩定,但更新驅動之前最好先記低原本版本,萬一新版本反而更差,都有得返轉頭對照。
每一步之間都要用同一場景、同一段時間去比較,否則好難判斷改善係嚟自設定定係剛好嗰段遊戲場面較靜。記低每次改動同結果,係最省時間嘅做法,亦係之後送修檢測時最有用嘅資料。
幾時懷疑硬件故障,幾時只係設定問題
設定問題通常有一個特徵:降低設定就會明顯改善,而且問題可以重現地跟住設定走。例如輸出降一級就順,推返高就再窒;關閉某個進階選項就順,開返就再過載。呢啲可預測嘅反應,指向負載超出能力,而唔係硬件隨機損壞。
硬件相關問題嘅訊號就唔同。常見嘅懷疑方向包括:就算將遊戲畫質同輸出設定降到好低,畫面仍然出現花屏、破圖、驅動程式反覆崩潰,或者喺完全唔開直播錄影嘅情況下打機都會無故黑屏同重啟。呢啲症狀已經超出編碼設定可以解釋嘅範圍,指向顯示記憶體、供電、散熱或者顯示卡本身嘅穩定性問題。仲有一個要留意嘅訊號,就係問題突然出現,而且之前同一設定行咗好耐都冇事,近期又冇改過設定或者更新過驅動,咁就要認真考慮硬件狀態係咪轉差。
不過就算出現上述訊號,都唔好即刻斷定要換卡。散熱不良、機箱風道阻塞、電源供應唔穩定、線材鬆動同驅動損毀,全部都可以模仿硬件故障嘅症狀。喺送修之前,先做基本檢查:清理風扇同散熱器積塵、確保電源線插實、試下用另一條輸出線同另一個插口、重新安裝驅動程式。如果基本檢查做晒都仲係咁,先至係送修檢測嘅合理時機。
送修前可以點準備
如果你決定將顯示卡拎去檢測,最好準備幾樣資料:出事時用緊邊個遊戲同場景、OBS 嘅編碼設定截圖、統計視窗嘅掉幀數字、淨錄影同直播嘅對照結果、降設定之後有無改善、驅動版本同系統最近有無大改動。呢啲資料可以令檢測更快對焦,唔使檢測人員由零開始估。
檢測本身通常會分開驗渲染穩定性同編碼穩定性,例如喺受控負載下睇下會唔會花屏、崩潰或者溫度異常。維修收費方面,本站公開嘅三級收費為 HK$400–2,800,實際金額要先檢測後報價,唔會喺未睇過卡嘅情況下就憑症狀開價。如果你喺石門達利廣場 1209 室附近,可以帶同上述記錄去查詢,電話 2186 8010,WhatsApp 6558 6806。記住,報價之前嘅檢測步驟本身就係要分清楚設定問題定硬件問題,唔好將檢測當成即刻要換嘢嘅承諾。
常見問題
問:OBS 話編碼器過載,係咪即係顯示卡壞咗?
答:唔係。過載訊息只係話編碼管線追唔切,而家嘅設定同負載組合超標。好多時降輸出、改預設或者關閉背景程式就會改善。要懷疑硬件,仲要睇埋低設定下係咪仍然花屏、崩潰或者黑屏。
問:轉用硬件編碼之後,遊戲幀率會唔會完全唔受影響?
答:唔會完全零影響。硬件編碼雖然減輕處理器負擔,但仍然會用顯示記憶體頻寬同驅動排程,遊戲負載好高嘅時候,兩者仍然有機會互相影響。正確嘅期望係減輕影響,唔係完全隔離。
問:位元率推到最高,畫質係咪一定最好?
答:唔一定。位元率太高會加重編碼同網絡負擔,一旦過載或者網絡傳唔切,畫面反而會窒同起格。畫質同流暢度要一齊睇,搵一個喺自己部機同網絡都穩定嘅水平先係最好。
問:淨錄影順但直播窒,應該先搞邊樣?
答:先搞網絡同上傳環節。因為本地錄影順,代表渲染同編碼本身冇大問題,直播先窒就指向傳輸嗰邊。呢個時候降編碼設定未必係最直接嘅解法,要先檢查網絡穩定性。
問:擷取卡係咪可以完全解決編碼過載?
答:要睇用法。雙電腦分工先至真正分開渲染同編碼;單電腦加擷取卡擷取同一部機畫面,渲染同編碼仍然喺同一部機競爭,未必可以完全解決過載,仲要留意擷取卡本身嘅解像度同幀率限制。
問:降設定之後順返,係咪代表以後都唔使再理?
答:可以當係一個穩定嘅起點,但之後遊戲更新、驅動更新或者加新來源,都有可能令負載再推高。建議記低而家穩定嘅設定組合,之後每次改動只改一樣,咁樣先容易追蹤邊次改動令問題返嚟。