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

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

基于三次樣條插值算法提升云游戲鼠標刷新率的方法

2024-10-31 09:28:46
18
0

數字(zi)化浪潮(chao)席卷全球(qiu),云計算已成(cheng)IT行業發展之核。云游(you)戲(xi)(xi)作為(wei)新興技術力量,將游(you)戲(xi)(xi)渲(xuan)染從玩家設備轉移至集中服(fu)務器,革(ge)新游(you)戲(xi)(xi)體驗(yan)。然而,當前PC端云游(you)戲(xi)(xi)始終受限(xian)于(yu)網絡限(xian)制在(zai)流暢(chang)度(du)、延遲(chi)和畫面上難以達到本地游(you)戲(xi)(xi)的體驗(yan)。其中有一個關鍵(jian)因數便是(shi)鼠(shu)標刷新率問(wen)題。

鼠(shu)標刷新(xin)率(lv)(也(ye)叫鼠(shu)標輪詢率(lv))既(ji)鼠(shu)標每(mei)秒(miao)鐘向操作系統報告位(wei)移的頻率(lv),常見的有125Hz、500Hz、1000Hz、4000Hz和8000Hz。這項(xiang)數(shu)據對游(you)戲體驗極(ji)為(wei)重要,人手操作鼠(shu)標(biao)(biao)移(yi)動(dong)是一(yi)(yi)段自然平(ping)滑(hua)的(de)(de)(de)曲線,而(er)鼠(shu)標(biao)(biao)上報(bao)給系(xi)統的(de)(de)(de)位(wei)移(yi)從(cong)微觀尺度(du)來看,并不是連(lian)續的(de)(de)(de),而(er)是由一(yi)(yi)個一(yi)(yi)個零(ling)散的(de)(de)(de)位(wei)置(zhi)點連(lian)成的(de)(de)(de)位(wei)移(yi)線段。系(xi)統在每次鼠(shu)標(biao)(biao)上報(bao)位(wei)移(yi)時(shi),系(xi)統就會(hui)將鼠(shu)標(biao)(biao)位(wei)置(zhi)瞬移(yi)到相(xiang)應的(de)(de)(de)位(wei)置(zhi),因此當鼠(shu)標(biao)(biao)上報(bao)頻率不夠(gou)高時(shi),在用戶看來,鼠(shu)標(biao)(biao)的(de)(de)(de)滑(hua)動(dong)顯示(shi)出(chu)(chu)來就是一(yi)(yi)卡一(yi)(yi)卡的(de)(de)(de)不連(lian)續畫面(mian),在FPS類(lei)游(you)戲中,由于畫面(mian)整體跟著鼠(shu)標(biao)(biao)移(yi)動(dong),因此卡頓更為(wei)明顯。反之鼠(shu)標(biao)(biao)刷(shua)新率越(yue)高就越(yue)能擬合出(chu)(chu)自然平(ping)滑(hua)曲線,視覺(jue)流(liu)暢度(du)就越(yue)高。因而(er)一(yi)(yi)般游(you)戲專用鼠(shu)標(biao)(biao)往(wang)往(wang)會(hui)將輪詢(xun)率設置(zhi)得比較高,1000Hz設置(zhi)4000Hz、8000Hz。

高鼠標輪詢率對于本地(di)游戲環境而言只(zhi)是會消耗更多的CPU資源來(lai)處理USB輪詢信(xin)號(hao)。但對于云游(you)戲來(lai)說,就(jiu)是非常棘手的(de)(de)(de)問題(ti)。云游(you)戲由于操(cao)(cao)作(zuo)和渲染分(fen)離(li),需(xu)要將(jiang)玩家(jia)的(de)(de)(de)鼠(shu)標(biao)操(cao)(cao)作(zuo)通過網(wang)(wang)絡(luo)(luo)傳(chuan)輸(shu)(shu)給遠端(duan)的(de)(de)(de)機(ji)房,因此當(dang)鼠(shu)標(biao)輪詢率過高(gao)時,就(jiu)會造(zao)成大(da)量(liang)的(de)(de)(de)網(wang)(wang)絡(luo)(luo)數據包(bao),而這些大(da)量(liang)的(de)(de)(de)鼠(shu)標(biao)位移(yi)網(wang)(wang)絡(luo)(luo)數據包(bao)在網(wang)(wang)絡(luo)(luo)傳(chuan)輸(shu)(shu)中非常容(rong)易造(zao)成網(wang)(wang)絡(luo)(luo)擁塞或者觸發網(wang)(wang)絡(luo)(luo)設備QoS限(xian)制(zhi)機(ji)制(zhi)導致丟(diu)包(bao)。

因(yin)此云游戲難(nan)以像本地游戲一樣通過(guo)提高鼠標刷新(xin)(xin)率(lv)來(lai)提升畫面流(liu)暢度。但是過(guo)低的鼠標刷新(xin)(xin)率(lv)又會導致Moba類游戲鼠(shu)標移(yi)動卡頓,FPS類游戲畫面移(yi)動卡頓。

綜(zong)上(shang)所述,目前云游戲鼠標體驗上(shang)存在以下(xia)難題(ti)

1)若像本地游戲(xi)一樣通過提高鼠標(biao)刷新率來提升畫面流(liu)暢度會造(zao)成網絡(luo)擁(yong)塞和鼠標(biao)網絡(luo)數(shu)據包(bao)丟失。

2)若為(wei)保證網(wang)絡傳輸穩(wen)定(ding),鼠標輪詢率就(jiu)要設(she)為(wei)較低的值,游戲(xi)畫面就(jiu)會因(yin)鼠標位移不連續而出現卡頓。

本(ben)文所提出的(de)(de)基于(yu)(yu)三次(ci)樣條插(cha)(cha)(cha)值(zhi)(zhi)算法(fa)提升云(yun)(yun)(yun)游戲(xi)鼠(shu)標(biao)刷(shua)新(xin)率(lv)的(de)(de)方(fang)法(fa)核心思想是(shi)降低(di)云(yun)(yun)(yun)游戲(xi)客戶端(duan)發送的(de)(de)鼠(shu)標(biao)位(wei)移(yi)(yi)(yi)頻(pin)率(lv)以(yi)降低(di)對網絡的(de)(de)負載(zai),在(zai)低(di)頻(pin)率(lv)的(de)(de)每(mei)一(yi)幀(zhen)鼠(shu)標(biao)位(wei)移(yi)(yi)(yi)數據包到了(le)算力(li)端(duan)后(hou),會加入(ru)到一(yi)個位(wei)移(yi)(yi)(yi)緩(huan)存(cun)隊列(lie),并(bing)將(jiang)緩(huan)存(cun)中所有的(de)(de)位(wei)移(yi)(yi)(yi)幀(zhen)數據,輸(shu)入(ru)三次(ci)樣條插(cha)(cha)(cha)值(zhi)(zhi)算法(fa),將(jiang)最新(xin)一(yi)次(ci)的(de)(de)低(di)頻(pin)位(wei)移(yi)(yi)(yi)幀(zhen)插(cha)(cha)(cha)值(zhi)(zhi)成(cheng)高(gao)(gao)頻(pin)位(wei)移(yi)(yi)(yi)幀(zhen),按照插(cha)(cha)(cha)值(zhi)(zhi)后(hou)的(de)(de)時(shi)間間隔逐(zhu)次(ci)輸(shu)入(ru)給系統。這樣對于(yu)(yu)云(yun)(yun)(yun)游戲(xi)的(de)(de)算力(li)系統而言得到的(de)(de)就是(shi)一(yi)個高(gao)(gao)刷(shua)新(xin)率(lv)的(de)(de)鼠(shu)標(biao)位(wei)移(yi)(yi)(yi)曲線,能夠(gou)生成(cheng)更(geng)流(liu)暢(chang)的(de)(de)鼠(shu)標(biao)滑(hua)動動畫和更(geng)流(liu)暢(chang)的(de)(de)游戲(xi)畫面(mian)移(yi)(yi)(yi)動。

 

具體流程如下:

1)云游戲客戶端對(dui)鼠標采樣設置一個較低的采樣率

2)云游(you)戲客戶端每(mei)次采樣鼠(shu)標位移后,將鼠(shu)標位移封裝為網絡數據包發送(song)給云游(you)戲算(suan)力端

3)云(yun)游戲(xi)算(suan)力端(duan)接(jie)收到每一幀的(de)鼠標(biao)位(wei)(wei)移(yi)(yi)(yi)后,加入(ru)(ru)緩存(若(ruo)隊列(lie)滿,則彈出最早(zao)的(de)鼠標(biao)位(wei)(wei)移(yi)(yi)(yi)數(shu)據(ju)(ju)),并(bing)利用三(san)次樣條插(cha)值算(suan)法(fa),將前一段時間的(de)位(wei)(wei)移(yi)(yi)(yi)數(shu)據(ju)(ju)和本(ben)次的(de)位(wei)(wei)移(yi)(yi)(yi)數(shu)據(ju)(ju)作為輸(shu)入(ru)(ru)共(gong)同輸(shu)入(ru)(ru)到三(san)次樣條插(cha)值算(suan)法(fa)模型(xing),得出本(ben)次位(wei)(wei)移(yi)(yi)(yi)經過插(cha)值后的(de)位(wei)(wei)移(yi)(yi)(yi)數(shu)據(ju)(ju)組(zu)

4)算力端根據(ju)插值后的位移數據(ju)組按照(zhao)相應的時間間隔輸(shu)入到算力端系統(tong)

5)系統根據插值后的高頻(pin)鼠(shu)標(biao)位移渲染更流暢的鼠(shu)標(biao)滑動(dong)或者(zhe)是游戲畫面(mian)移動(dong)。

0條評論
0 / 1000
l****n
12文(wen)章數
1粉絲(si)數(shu)
l****n
12 文(wen)章 | 1 粉絲
原創

基于三次樣條插值算法提升云游戲鼠標刷新率的方法

2024-10-31 09:28:46
18
0

數字化(hua)浪潮(chao)席卷(juan)全球(qiu),云計(ji)算(suan)已成(cheng)IT行(xing)業發展(zhan)之核。云(yun)游戲(xi)作為新興技術力(li)量,將游戲(xi)渲染從玩家設(she)備(bei)轉(zhuan)移(yi)至(zhi)集中服務器(qi),革新游戲(xi)體驗。然(ran)而,當前PC端云(yun)游戲(xi)始終受限于網絡(luo)限制在(zai)流暢度、延遲和畫面(mian)上(shang)難以達到本地游戲(xi)的(de)體驗。其中有一個關鍵因數便是鼠標刷新率問題(ti)。

鼠(shu)標刷新率(也叫鼠(shu)標輪詢率)既鼠(shu)標每秒鐘向操(cao)作系統(tong)報告位移的頻率,常見的有125Hz、500Hz、1000Hz、4000Hz和8000Hz。這項(xiang)數據(ju)對(dui)游戲體驗極為(wei)重要,人(ren)手操作鼠(shu)(shu)標(biao)移(yi)動(dong)是一段自然平滑的(de)(de)曲(qu)線,而鼠(shu)(shu)標(biao)上(shang)報給系統(tong)(tong)的(de)(de)位(wei)移(yi)從(cong)微觀(guan)尺度來看,并不(bu)是連續(xu)的(de)(de),而是由一個一個零(ling)散的(de)(de)位(wei)置(zhi)點連成的(de)(de)位(wei)移(yi)線段。系統(tong)(tong)在每次鼠(shu)(shu)標(biao)上(shang)報位(wei)移(yi)時,系統(tong)(tong)就會將鼠(shu)(shu)標(biao)位(wei)置(zhi)瞬(shun)移(yi)到(dao)相應的(de)(de)位(wei)置(zhi),因此(ci)當鼠(shu)(shu)標(biao)上(shang)報頻率(lv)不(bu)夠高時,在用戶看來,鼠(shu)(shu)標(biao)的(de)(de)滑動(dong)顯(xian)示出(chu)來就是一卡一卡的(de)(de)不(bu)連續(xu)畫(hua)面,在FPS類游戲中,由于畫(hua)面整體跟(gen)著(zhu)鼠(shu)(shu)標(biao)移(yi)動(dong),因此(ci)卡頓更為(wei)明顯(xian)。反之(zhi)鼠(shu)(shu)標(biao)刷新率(lv)越(yue)高就越(yue)能擬(ni)合出(chu)自然平滑曲(qu)線,視覺流暢度就越(yue)高。因而一般游戲專用鼠(shu)(shu)標(biao)往往會將輪詢率(lv)設(she)(she)置(zhi)得比(bi)較高,1000Hz設(she)(she)置(zhi)4000Hz、8000Hz。

高鼠標輪詢率對(dui)于(yu)本地游戲環境而言(yan)只是會(hui)消耗更多的CPU資源來處理USB輪詢(xun)信號。但對(dui)于(yu)云游(you)戲(xi)來說,就是(shi)非(fei)常(chang)棘手(shou)的問題。云游(you)戲(xi)由于(yu)操作和(he)渲染分離,需要將玩家(jia)的鼠(shu)標操作通過網(wang)(wang)(wang)(wang)絡(luo)(luo)傳輸(shu)給遠端的機(ji)房,因(yin)此(ci)當(dang)鼠(shu)標輪詢(xun)率(lv)過高時(shi),就會造(zao)成大量的網(wang)(wang)(wang)(wang)絡(luo)(luo)數據(ju)包(bao),而(er)這些大量的鼠(shu)標位移網(wang)(wang)(wang)(wang)絡(luo)(luo)數據(ju)包(bao)在網(wang)(wang)(wang)(wang)絡(luo)(luo)傳輸(shu)中(zhong)非(fei)常(chang)容易(yi)造(zao)成網(wang)(wang)(wang)(wang)絡(luo)(luo)擁(yong)塞(sai)或者觸發網(wang)(wang)(wang)(wang)絡(luo)(luo)設備QoS限制機(ji)制導致丟包(bao)。

因(yin)此(ci)云游戲(xi)難(nan)以(yi)像本地游戲(xi)一樣通(tong)過提高(gao)鼠(shu)標刷新(xin)率(lv)來提升畫(hua)面流暢度。但是過低的(de)鼠(shu)標刷新(xin)率(lv)又會導(dao)致Moba類游戲鼠標移(yi)動(dong)卡頓,FPS類游戲畫(hua)面(mian)移(yi)動(dong)卡頓。

綜上所述,目前云游(you)戲(xi)鼠(shu)標體驗上存在以下難題(ti)

1)若像本地游(you)戲一樣(yang)通過提高鼠標刷新率(lv)來提升畫面流暢(chang)度會造成網(wang)絡(luo)擁塞和鼠標網(wang)絡(luo)數據(ju)包丟失。

2)若為(wei)保證網絡(luo)傳(chuan)輸穩定,鼠標輪(lun)詢率就要(yao)設為(wei)較低的值,游戲畫面(mian)就會因鼠標位移不連續而(er)出現(xian)卡頓。

本(ben)文所提出(chu)的(de)基于三(san)次(ci)樣(yang)(yang)條插(cha)值算(suan)法(fa)提升云(yun)(yun)游(you)戲鼠(shu)(shu)(shu)標刷(shua)新(xin)率的(de)方法(fa)核(he)心思想是降低云(yun)(yun)游(you)戲客戶端發送的(de)鼠(shu)(shu)(shu)標位(wei)(wei)(wei)移(yi)(yi)(yi)(yi)(yi)(yi)頻(pin)率以降低對網絡的(de)負載,在低頻(pin)率的(de)每一幀鼠(shu)(shu)(shu)標位(wei)(wei)(wei)移(yi)(yi)(yi)(yi)(yi)(yi)數據(ju)包到了算(suan)力端后,會加入(ru)(ru)(ru)到一個位(wei)(wei)(wei)移(yi)(yi)(yi)(yi)(yi)(yi)緩存(cun)隊列,并將緩存(cun)中所有的(de)位(wei)(wei)(wei)移(yi)(yi)(yi)(yi)(yi)(yi)幀數據(ju),輸入(ru)(ru)(ru)三(san)次(ci)樣(yang)(yang)條插(cha)值算(suan)法(fa),將最新(xin)一次(ci)的(de)低頻(pin)位(wei)(wei)(wei)移(yi)(yi)(yi)(yi)(yi)(yi)幀插(cha)值成(cheng)高頻(pin)位(wei)(wei)(wei)移(yi)(yi)(yi)(yi)(yi)(yi)幀,按照插(cha)值后的(de)時間(jian)間(jian)隔逐次(ci)輸入(ru)(ru)(ru)給(gei)系(xi)統。這樣(yang)(yang)對于云(yun)(yun)游(you)戲的(de)算(suan)力系(xi)統而言得(de)到的(de)就是一個高刷(shua)新(xin)率的(de)鼠(shu)(shu)(shu)標位(wei)(wei)(wei)移(yi)(yi)(yi)(yi)(yi)(yi)曲(qu)線(xian),能(neng)夠(gou)生成(cheng)更流暢(chang)的(de)鼠(shu)(shu)(shu)標滑(hua)動(dong)動(dong)畫和更流暢(chang)的(de)游(you)戲畫面移(yi)(yi)(yi)(yi)(yi)(yi)動(dong)。

 

具體流程如下(xia):

1)云游戲客戶端對鼠標采(cai)樣設置一個較低的采(cai)樣率

2)云游戲(xi)客戶端每次采樣鼠標(biao)位移后(hou),將鼠標(biao)位移封裝為(wei)網(wang)絡數據包(bao)發送(song)給云游戲(xi)算(suan)力(li)端

3)云(yun)游戲算力端接收到(dao)每一幀(zhen)的鼠標位(wei)移(yi)(yi)后(hou)(hou),加(jia)入(ru)緩存(若隊列滿,則彈出(chu)最早的鼠標位(wei)移(yi)(yi)數據),并利用三次(ci)(ci)樣條插(cha)值算法,將前一段時間(jian)的位(wei)移(yi)(yi)數據和本次(ci)(ci)的位(wei)移(yi)(yi)數據作為輸入(ru)共同輸入(ru)到(dao)三次(ci)(ci)樣條插(cha)值算法模型,得出(chu)本次(ci)(ci)位(wei)移(yi)(yi)經過插(cha)值后(hou)(hou)的位(wei)移(yi)(yi)數據組

4)算(suan)力(li)端根據插(cha)值(zhi)后的位(wei)移數據組按照相(xiang)應的時(shi)間(jian)(jian)間(jian)(jian)隔(ge)輸入到算(suan)力(li)端系統

5)系(xi)統(tong)根據插值后的高頻鼠標位移(yi)渲染(ran)更流(liu)暢的鼠標滑動或者是游戲(xi)畫(hua)面移(yi)動。

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