亚欧色一区w666天堂,色情一区二区三区免费看,少妇特黄A片一区二区三区,亚洲人成网站999久久久综合,国产av熟女一区二区三区

  • 發布文章
  • 消息中心
點贊
收藏
評論
分享
原創

基于幀生成時間針云游戲長短幀卡頓的解決辦法

2024-10-31 09:28:47
26
0

隨著云計算潮流的推動,云游戲作為一種新型的游戲互動方式正在快速的推進和普及。云游戲作為新興技術力量,將游戲渲染從玩家設備轉移至集中服務器,革新游戲體驗。但是云游戲在體驗上仍和本地游戲環境有差距,流暢度的差異是其中較為明顯的問題。

在傳統的本地游戲環境中,影響流暢度體驗的因素有游戲的幀率(cpu、顯卡等部件決定),顯示器刷新率等因素,顯示器從顯卡的幀緩存區中讀取顯卡渲染好的畫面數據并顯示出來。當顯卡渲染幀率和顯示器刷新率不匹配時,顯示器可能會同時讀取到上一幀的上半部分和下一幀的下半部分,會造成畫面撕裂。而云游戲的流程會更為復雜一些,服務端顯卡輸出完畫面后會輸出給虛擬顯示器,云游戲串流軟件在這過程中采集畫面,由于畫面采集不是讀取顯存中幀緩存區,因此當采集的頻率和顯卡幀率不對應時,出現的不是畫面撕裂,而是長短幀問題。長短幀問題即若采集頻率大于顯卡輸出幀率時,采集軟件會按照固定頻率采集(60FPS即為每秒采集60次),因此會出現不同的畫面幀被采集了不同次數,可能有些畫面幀采集了一次,有些畫面幀采集了兩次或更多,會造成一些幀顯示時間過長,一些幀顯示時間過短,這會造成畫面的不連續感,而產生卡頓,在采集頻率低于顯卡輸出幀率時,則會導致有一些幀的漏采,在連續運動的畫面中也會造成卡頓感。

而目前主流的云游戲方案大多是采用固定幀率采集,例如30FPS、60FPS,采用固定幀率的原因是因為在客戶端解碼后也是固定的30FPS和60FPS,這能和客戶端的顯示器刷新率相匹配減少畫面撕裂的產生,然而固定的采集幀率遇上不匹配的顯卡輸出幀率,長短幀導致的卡頓感也自然無法避免。這是云游戲采集階段出現的長短幀卡頓問題。

當然除了固定幀率采集之外,還可以使用動態幀率采集來解決采集階段的長短幀卡頓問題,但是動態幀率采集會造成客戶端解碼后幀率與顯示器不匹配造成畫面撕裂,同時由于網絡波動,幀數據經過網絡傳輸后到達時間有差異,原本正確的幀時間間隔受到變化,每幀顯示時間也受到影響也同樣會在客戶端渲染階段造成一定程度的長短幀卡頓問題 

這就是云游戲流暢度始終和本地游戲有差距的其中一個原因。

綜上所述,目前云游戲在流暢度上主要有以下問題

1)傳統云游戲的固定幀率采集雖然能減少客戶端畫面撕裂問題,但是會在采集階段引入長短幀的卡頓問題。

2)傳統云游戲的動態幀率采集會造成客戶端幀率與顯示器不匹配,同時因為網絡波動而在客戶端渲染階段造成幀時間間隔變化而產生的長短幀卡頓問題。

本文所提出的基于幀生成時間針云游戲長短幀卡頓的解決辦法核心思維是在云游戲算力端采用動態幀率采集以避免采集階段出現的長短幀卡頓問題,并在算力端渲染每一幀畫面時,都記錄這一幀的幀生成時間,客戶端解碼渲染時,再根據每一幀的原始幀生成時間,設置時間間隔依次渲染。同時客戶端開啟自適應同步,讓顯示器自動適配客戶端輸出的動態幀率解決畫面撕裂問題。最終能夠實現的效果就是,動態采集解決采集階段的長短幀卡頓問題,同時客戶端展示每一幀的時間間隔(也是每一幀的顯示時長)和算力端渲染出來的幀時間間隔是相同的。因此能夠保證視頻不會因為網絡傳輸導致幀時間間隔變化而導致的長短幀卡頓問題。

具體流程如下

1)云游戲算力端采用動態幀率采集策略,根據算力端顯卡渲染的每一幀來進行采集,并在采集時根據渲染時間間隔記錄幀生成時間。

2)云游戲算力端的畫面幀數據和其對應的幀生成時間通過網絡分包發送給客戶端,客戶端將每一幀的完整數據加入到解碼緩沖隊列,同時將每一幀對應的幀生成時間也加入到幀生成時間緩沖隊列。

3)通過多重緩沖隊列和雙解碼器穩定解碼時長,可以保證串流視頻畫面的解碼時長基本固定,所有解碼時長差異可以忽略不計,因此在解碼之前調整解碼時長間隔即可,在解碼是設置雙解碼器隊列,依次從幀數據緩沖隊列中取出每一幀的數據按照幀生成時間間隔交叉輸入各兩條解碼器隊列,兩個解碼器生成的幀畫面輸出給顯存中的畫面緩存,結合顯示器的自適應同步技術,依次輸出,這樣即可保證云游戲每一幀畫面在客戶端輸出時保證和云端相同的幀生成時間,避免幀生成時間變化產生的長短幀卡頓問題。

 

0條評論
0 / 1000
l****n
12文章數
1粉絲數
l****n
12 文章 | 1 粉絲
原創

基于幀生成時間針云游戲長短幀卡頓的解決辦法

2024-10-31 09:28:47
26
0

隨著云計算潮流的推動,云游戲作為一種新型的游戲互動方式正在快速的推進和普及。云游戲作為新興技術力量,將游戲渲染從玩家設備轉移至集中服務器,革新游戲體驗。但是云游戲在體驗上仍和本地游戲環境有差距,流暢度的差異是其中較為明顯的問題。

在傳統的本地游戲環境中,影響流暢度體驗的因素有游戲的幀率(cpu、顯卡等部件決定),顯示器刷新率等因素,顯示器從顯卡的幀緩存區中讀取顯卡渲染好的畫面數據并顯示出來。當顯卡渲染幀率和顯示器刷新率不匹配時,顯示器可能會同時讀取到上一幀的上半部分和下一幀的下半部分,會造成畫面撕裂。而云游戲的流程會更為復雜一些,服務端顯卡輸出完畫面后會輸出給虛擬顯示器,云游戲串流軟件在這過程中采集畫面,由于畫面采集不是讀取顯存中幀緩存區,因此當采集的頻率和顯卡幀率不對應時,出現的不是畫面撕裂,而是長短幀問題。長短幀問題即若采集頻率大于顯卡輸出幀率時,采集軟件會按照固定頻率采集(60FPS即為每秒采集60次),因此會出現不同的畫面幀被采集了不同次數,可能有些畫面幀采集了一次,有些畫面幀采集了兩次或更多,會造成一些幀顯示時間過長,一些幀顯示時間過短,這會造成畫面的不連續感,而產生卡頓,在采集頻率低于顯卡輸出幀率時,則會導致有一些幀的漏采,在連續運動的畫面中也會造成卡頓感。

而目前主流的云游戲方案大多是采用固定幀率采集,例如30FPS、60FPS,采用固定幀率的原因是因為在客戶端解碼后也是固定的30FPS和60FPS,這能和客戶端的顯示器刷新率相匹配減少畫面撕裂的產生,然而固定的采集幀率遇上不匹配的顯卡輸出幀率,長短幀導致的卡頓感也自然無法避免。這是云游戲采集階段出現的長短幀卡頓問題。

當然除了固定幀率采集之外,還可以使用動態幀率采集來解決采集階段的長短幀卡頓問題,但是動態幀率采集會造成客戶端解碼后幀率與顯示器不匹配造成畫面撕裂,同時由于網絡波動,幀數據經過網絡傳輸后到達時間有差異,原本正確的幀時間間隔受到變化,每幀顯示時間也受到影響也同樣會在客戶端渲染階段造成一定程度的長短幀卡頓問題 

這就是云游戲流暢度始終和本地游戲有差距的其中一個原因。

綜上所述,目前云游戲在流暢度上主要有以下問題

1)傳統云游戲的固定幀率采集雖然能減少客戶端畫面撕裂問題,但是會在采集階段引入長短幀的卡頓問題。

2)傳統云游戲的動態幀率采集會造成客戶端幀率與顯示器不匹配,同時因為網絡波動而在客戶端渲染階段造成幀時間間隔變化而產生的長短幀卡頓問題。

本文所提出的基于幀生成時間針云游戲長短幀卡頓的解決辦法核心思維是在云游戲算力端采用動態幀率采集以避免采集階段出現的長短幀卡頓問題,并在算力端渲染每一幀畫面時,都記錄這一幀的幀生成時間,客戶端解碼渲染時,再根據每一幀的原始幀生成時間,設置時間間隔依次渲染。同時客戶端開啟自適應同步,讓顯示器自動適配客戶端輸出的動態幀率解決畫面撕裂問題。最終能夠實現的效果就是,動態采集解決采集階段的長短幀卡頓問題,同時客戶端展示每一幀的時間間隔(也是每一幀的顯示時長)和算力端渲染出來的幀時間間隔是相同的。因此能夠保證視頻不會因為網絡傳輸導致幀時間間隔變化而導致的長短幀卡頓問題。

具體流程如下

1)云游戲算力端采用動態幀率采集策略,根據算力端顯卡渲染的每一幀來進行采集,并在采集時根據渲染時間間隔記錄幀生成時間。

2)云游戲算力端的畫面幀數據和其對應的幀生成時間通過網絡分包發送給客戶端,客戶端將每一幀的完整數據加入到解碼緩沖隊列,同時將每一幀對應的幀生成時間也加入到幀生成時間緩沖隊列。

3)通過多重緩沖隊列和雙解碼器穩定解碼時長,可以保證串流視頻畫面的解碼時長基本固定,所有解碼時長差異可以忽略不計,因此在解碼之前調整解碼時長間隔即可,在解碼是設置雙解碼器隊列,依次從幀數據緩沖隊列中取出每一幀的數據按照幀生成時間間隔交叉輸入各兩條解碼器隊列,兩個解碼器生成的幀畫面輸出給顯存中的畫面緩存,結合顯示器的自適應同步技術,依次輸出,這樣即可保證云游戲每一幀畫面在客戶端輸出時保證和云端相同的幀生成時間,避免幀生成時間變化產生的長短幀卡頓問題。

 

文章來自個人專欄
文章 | 訂閱
0條評論
0 / 1000
請輸入你的評論
0
0