[發(fā)明專利]外設(shè)消息的響應(yīng)方法及裝置、存儲(chǔ)介質(zhì)、電子設(shè)備在審
| 申請(qǐng)?zhí)枺?/td> | 202011231216.0 | 申請(qǐng)日: | 2020-11-06 |
| 公開(kāi)(公告)號(hào): | CN112328452A | 公開(kāi)(公告)日: | 2021-02-05 |
| 發(fā)明(設(shè)計(jì))人: | 鄭明 | 申請(qǐng)(專利權(quán))人: | 北京金山云網(wǎng)絡(luò)技術(shù)有限公司 |
| 主分類號(hào): | G06F11/30 | 分類號(hào): | G06F11/30;G06F9/448 |
| 代理公司: | 北京華夏泰和知識(shí)產(chǎn)權(quán)代理有限公司 11662 | 代理人: | 蔡良偉 |
| 地址: | 100085 北京市海淀*** | 國(guó)省代碼: | 北京;11 |
| 權(quán)利要求書(shū): | 查看更多 | 說(shuō)明書(shū): | 查看更多 |
| 摘要: | |||
| 搜索關(guān)鍵詞: | 外設(shè) 消息 響應(yīng) 方法 裝置 存儲(chǔ) 介質(zhì) 電子設(shè)備 | ||
本發(fā)明公開(kāi)了一種外設(shè)消息的響應(yīng)方法及裝置、存儲(chǔ)介質(zhì)、電子設(shè)備,屬于計(jì)算機(jī)技術(shù)領(lǐng)域。其中,該方法包括:監(jiān)測(cè)游戲客戶端的畫(huà)面渲染進(jìn)程;在所述畫(huà)面渲染進(jìn)程將渲染數(shù)據(jù)提交至顯存后,根據(jù)所述畫(huà)面渲染進(jìn)程調(diào)用目標(biāo)渲染提交函數(shù),其中,所述目標(biāo)渲染提交函數(shù)禁止執(zhí)行垂直同步;在所述目標(biāo)渲染提交函數(shù)的渲染周期內(nèi)響應(yīng)所述游戲客戶端的外設(shè)消息。通過(guò)本發(fā)明,解決了相關(guān)技術(shù)只能通過(guò)提高顯示刷新率來(lái)降低外設(shè)消息延遲的技術(shù)問(wèn)題,節(jié)省了視頻碼率,達(dá)到既鎖定游戲FPS上限,防止畫(huà)面撕裂,又可以實(shí)時(shí)響應(yīng)外設(shè)消息,降低了外設(shè)消息的延遲。
技術(shù)領(lǐng)域
本發(fā)明涉及計(jì)算機(jī)領(lǐng)域,具體而言,涉及一種外設(shè)消息的響應(yīng)方法及裝置、存儲(chǔ)介質(zhì)、電子設(shè)備。
背景技術(shù)
相關(guān)技術(shù)中,在游戲交互過(guò)程中,需要做到畫(huà)面流程和操作同步,會(huì)涉及到FPS(Frames Per Second),畫(huà)面撕裂,垂直同步(VSYNC,Verticalsynchronization)等參數(shù)。其中FPS是每秒傳輸幀數(shù),指游戲一秒鐘內(nèi)刷新畫(huà)面的次數(shù)。如果游戲需要顯示高速移動(dòng)的物體,則需要高FPS來(lái)呈現(xiàn)畫(huà)面,否則玩家將感受到畫(huà)面不順暢。畫(huà)面撕裂是當(dāng)游戲FPS超過(guò)顯示器刷新率時(shí),可能會(huì)出現(xiàn)上一幀來(lái)不及顯示完畢,下一幀就已經(jīng)在顯示,于是在顯示器的一次刷新中,可以看到畫(huà)面上半部分是上一幀,而下半部分是下一幀。這種上下兩部分不是一個(gè)完整畫(huà)面的現(xiàn)象叫做畫(huà)面撕裂。為了避免畫(huà)面撕裂,提出了垂直同步,是一種讓游戲提交畫(huà)面和顯示器刷新同步的一種技術(shù),它能鎖定游戲FPS不超過(guò)顯示器刷新率,使高速運(yùn)動(dòng)類的游戲不會(huì)產(chǎn)生畫(huà)面撕裂。
相關(guān)技術(shù)中,將畫(huà)面渲染和獲取外設(shè)消息放置在一個(gè)線程中實(shí)現(xiàn),在線程中同時(shí)處理外設(shè)消息和渲染數(shù)據(jù),在一個(gè)渲染周期中,線程向顯存提交渲染數(shù)據(jù)后,需要等到下一個(gè)周期才能處理外設(shè)消息,所以開(kāi)啟垂直同步會(huì)導(dǎo)致外設(shè)消息無(wú)法及時(shí)返回,從而導(dǎo)致外設(shè)消息不能及時(shí)獲取并處理,通過(guò)垂直同步解決畫(huà)面撕裂的同時(shí)帶來(lái)處理外設(shè)消息延遲的問(wèn)題,可以通過(guò)設(shè)置高刷新率顯示器來(lái)緩解該問(wèn)題,通過(guò)建議玩家購(gòu)買(mǎi)高刷新率顯示器,以降低顯示器兩次刷新之間的間隔時(shí)間,從而能更快速?gòu)匿秩具^(guò)程中返回,但是高刷新率顯示器一般來(lái)說(shuō)價(jià)格高昂,并且需要淘汰現(xiàn)有顯示器,造成資源浪費(fèi)。
針對(duì)相關(guān)技術(shù)中存在的上述問(wèn)題,目前尚未發(fā)現(xiàn)有效的解決方案。
發(fā)明內(nèi)容
本發(fā)明實(shí)施例提供了一種外設(shè)消息的響應(yīng)方法及裝置、存儲(chǔ)介質(zhì)、電子設(shè)備。
根據(jù)本申請(qǐng)實(shí)施例的一個(gè)方面,提供了一種外設(shè)消息的響應(yīng)方法,包括:監(jiān)測(cè)游戲客戶端的畫(huà)面渲染進(jìn)程;在所述畫(huà)面渲染進(jìn)程將渲染數(shù)據(jù)提交至顯存后,根據(jù)所述畫(huà)面渲染進(jìn)程調(diào)用目標(biāo)渲染提交函數(shù),其中,所述目標(biāo)渲染提交函數(shù)禁止執(zhí)行垂直同步;在所述目標(biāo)渲染提交函數(shù)的渲染周期內(nèi)響應(yīng)所述游戲客戶端的外設(shè)消息。
進(jìn)一步,根據(jù)所述畫(huà)面渲染進(jìn)程調(diào)用目標(biāo)渲染提交函數(shù)包括:若監(jiān)測(cè)到所述畫(huà)面渲染進(jìn)程的原渲染提交函數(shù),調(diào)用預(yù)設(shè)鉤子函數(shù);通過(guò)所述預(yù)設(shè)鉤子函數(shù)訪問(wèn)所述原渲染提交函數(shù)的同步參數(shù),其中,所述同步參數(shù)用于表征所述游戲客戶端是否開(kāi)啟垂直同步;基于所述同步參數(shù)將所述原渲染提交函數(shù)設(shè)置為目標(biāo)渲染提交函數(shù);執(zhí)行所述目標(biāo)渲染提交函數(shù)。
進(jìn)一步,基于所述同步參數(shù)將所述原渲染提交函數(shù)設(shè)置為目標(biāo)渲染提交函數(shù)包括:將所述同步參數(shù)設(shè)置為第一狀態(tài)值,其中,所述第一狀態(tài)值用于指示所述游戲客戶端禁止執(zhí)行垂直同步;使用所述第一狀態(tài)值重新配置所述原渲染提交函數(shù)的同步參數(shù),得到所述目標(biāo)渲染提交函數(shù)。
進(jìn)一步,在基于所述同步參數(shù)將所述原渲染提交函數(shù)設(shè)置為目標(biāo)渲染提交函數(shù)之前,所述方法還包括:獲取所述同步參數(shù)的狀態(tài)值;判斷所述狀態(tài)值是否為第二狀態(tài)值,其中,所述第二狀態(tài)值用于指示所述游戲客戶端允許執(zhí)行垂直同步;若所述狀態(tài)值為第二狀態(tài)值,確定執(zhí)行所述基于所述同步參數(shù)將所述原渲染提交函數(shù)設(shè)置為目標(biāo)渲染提交函數(shù)。
該專利技術(shù)資料僅供研究查看技術(shù)是否侵權(quán)等信息,商用須獲得專利權(quán)人授權(quán)。該專利全部權(quán)利屬于北京金山云網(wǎng)絡(luò)技術(shù)有限公司,未經(jīng)北京金山云網(wǎng)絡(luò)技術(shù)有限公司許可,擅自商用是侵權(quán)行為。如果您想購(gòu)買(mǎi)此專利、獲得商業(yè)授權(quán)和技術(shù)合作,請(qǐng)聯(lián)系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/202011231216.0/2.html,轉(zhuǎn)載請(qǐng)聲明來(lái)源鉆瓜專利網(wǎng)。
- 同類專利
- 專利分類
G06F 電數(shù)字?jǐn)?shù)據(jù)處理
G06F11-00 錯(cuò)誤檢測(cè);錯(cuò)誤校正;監(jiān)控
G06F11-07 .響應(yīng)錯(cuò)誤的產(chǎn)生,例如,容錯(cuò)
G06F11-22 .在準(zhǔn)備運(yùn)算或者在空閑時(shí)間期間內(nèi),通過(guò)測(cè)試作故障硬件的檢測(cè)或定位
G06F11-28 .借助于檢驗(yàn)標(biāo)準(zhǔn)程序或通過(guò)處理作錯(cuò)誤檢測(cè)、錯(cuò)誤校正或監(jiān)控
G06F11-30 .監(jiān)控
G06F11-36 .通過(guò)軟件的測(cè)試或調(diào)試防止錯(cuò)誤
- 時(shí)刻響應(yīng)
- 第一響應(yīng)和第二響應(yīng)
- 需求響應(yīng)方法和需求響應(yīng)系統(tǒng)
- 響應(yīng)裝置及其集成電路、響應(yīng)方法及響應(yīng)系統(tǒng)
- 響應(yīng)處理方法及響應(yīng)處理裝置
- 響應(yīng)裝置及網(wǎng)絡(luò)響應(yīng)方法
- 響應(yīng)生成方法、響應(yīng)生成裝置和響應(yīng)生成程序
- 響應(yīng)車輛、響應(yīng)車輛管理系統(tǒng)和響應(yīng)車輛控制系統(tǒng)
- 斷電響應(yīng)
- 響應(yīng)裝置、響應(yīng)方法及存儲(chǔ)介質(zhì)
- 一種數(shù)據(jù)庫(kù)讀寫(xiě)分離的方法和裝置
- 一種手機(jī)動(dòng)漫人物及背景創(chuàng)作方法
- 一種通訊綜合測(cè)試終端的測(cè)試方法
- 一種服裝用人體測(cè)量基準(zhǔn)點(diǎn)的獲取方法
- 系統(tǒng)升級(jí)方法及裝置
- 用于虛擬和接口方法調(diào)用的裝置和方法
- 線程狀態(tài)監(jiān)控方法、裝置、計(jì)算機(jī)設(shè)備和存儲(chǔ)介質(zhì)
- 一種JAVA智能卡及其虛擬機(jī)組件優(yōu)化方法
- 檢測(cè)程序中方法耗時(shí)的方法、裝置及存儲(chǔ)介質(zhì)
- 函數(shù)的執(zhí)行方法、裝置、設(shè)備及存儲(chǔ)介質(zhì)





