[發明專利]網絡游戲中的射線查詢方法和場景服務器有效
| 申請號: | 201210150401.6 | 申請日: | 2012-05-15 |
| 公開(公告)號: | CN102810133A | 公開(公告)日: | 2012-12-05 |
| 發明(設計)人: | 李利國 | 申請(專利權)人: | 北京像素軟件科技股份有限公司 |
| 主分類號: | G06F19/00 | 分類號: | G06F19/00 |
| 代理公司: | 北京德琦知識產權代理有限公司 11018 | 代理人: | 楊春香;宋志強 |
| 地址: | 100043 北京市石景山區八*** | 國省代碼: | 北京;11 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 網絡游戲 中的 射線 查詢 方法 場景 服務器 | ||
技術領域
本發明涉及網絡游戲技術,特別涉及網絡游戲中的射線查詢方法和場景服務器。
背景技術
碰撞檢測是網絡游戲中實現很多游戲效果和技術的基礎,其中以射線查詢應用最為廣泛。所謂射線查詢,其主要是使用射線作碰撞檢測,查詢空間中的射線是否與場景模型相交,如果相交則返回最近的交點等信息。例如《刀劍貳》中的跳躍、尋路、傷害判定等,都需要進行大量射線查詢。
通常,網絡游戲中用于射線查詢的場景模型使用三角形網格表示,有時復雜的場景模型可能使用數十萬乃至百萬個三角形網格。為了加速計算,常常針對場景模型使用加速結構即kdtree、均勻網格等數據結構,其對空間進行劃分,并將三角形劃分到其覆蓋的各個子空間,檢測時只查找射線穿過的子空間,避免不必要的射線與三角形相交測試。但即使使用加速結構,射線查詢也需要大量的計算。為了防止欺詐或外掛,更好的維護玩家權益,越來越多的網絡游戲將涉及利益的射線查詢放在服務器端計算,通常是由場景服務器的CPU執行。但是,場景服務器的CPU負責運行多個場景,包括世界和副本等,支持數以千計的玩家同時在線,每秒運行數十個游戲幀,而每一游戲幀通常需要處理網絡請求、人工智能、傷害判定、尋路、日志等大量任務,如果在額定的時間內不能完成任務,導致服務器延遲,不僅影響玩家體驗,還會影響后續游戲幀的處理,導致各種問題。和其它任務相比,射線查詢不僅計算密集,而且幀間負載不平衡,在某一游戲幀只有少量的查詢,而下一游戲幀就可能出現數百倍乃至千倍的查詢,常常導致服務器延遲。
發明內容
本發明提供了網絡游戲中的射線查詢方法和場景服務器,以避免射線查詢引起場景服務器的延遲。
本發明提供的技術方案包括:
一種網絡游戲中的射線查詢方法,方法包括:
場景服務器針對每一游戲幀執行以下操作:
在每一游戲幀開始時,將針對該游戲幀的所有射線查詢請求注冊到射線查詢管理器中;
依據注冊至該射線查詢管理器的射線查詢請求數量統計出當前是由CPU還是由圖像處理器GPU執行射線查詢;
如果統計出是由CPU執行射線查詢,則由CPU執行射線查詢;
如果統計出是由GPU執行射線查詢,則調度GPU異步執行射線查詢,而CPU在GPU執行射線查詢期間執行非射線查詢任務。
一種應用于網絡游戲中射線查詢的場景服務器,包括:
注冊單元,用于當每一游戲幀開始時,將針對該游戲幀的所有射線查詢請求注冊到射線查詢管理器中;
統計單元,用于依據注冊至該射線查詢管理器的射線查詢請求數量統計出當前是由CPU還是由圖像處理器GPU執行射線查詢;
CPU,用于在所述統計單元統計出是由CPU執行射線查詢時,執行射線查詢;
GPU,用于在所述統計單元統計出是由GPU執行射線查詢時,異步執行射線查詢,其中,所述CPU在GPU執行射線查詢期間執行非射線查詢任務。
由以上技術方案可以看出,本發明中,依據每一游戲幀開始時注冊至該射線查詢管理器的該游戲幀的所有射線查詢請求數量統計出當前是由CPU還是由圖像處理器GPU執行射線查詢,如果統計出是由CPU執行射線查詢,則由CPU執行射線查詢,如果統計出是由GPU執行射線查詢,則調度GPU異步執行射線查詢,而CPU在GPU執行射線查詢期間執行非射線查詢任務,這是實現了并非一直由場景服務器的CPU執行射線查詢任務,而GPU也可協助執行射線查詢任務,這保證了場景服務器的流暢運行,避免射線查詢引起場景服務器的延遲。
附圖說明
圖1為GPU效果示意圖;
圖2為本發明實施例提供的方法流程圖;
圖3為本發明實施例提供的CPU計算時間和數據傳輸時間測試示意圖;
圖4為本發明實施例提供的詳細方法流程圖;
圖5為本發明實施例提供的數據存儲格式示意圖;
圖6為本發明實施例提供的GPU執行射線查詢流程圖;
圖7為本發明實施例提供的查詢數據和線程塊數據示意圖;
圖8為本發明實施例提供的場景服務器結構圖。
具體實施方式
為了使本發明的目的、技術方案和優點更加清楚,下面結合附圖和具體實施例對本發明進行詳細描述。
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于北京像素軟件科技股份有限公司,未經北京像素軟件科技股份有限公司許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201210150401.6/2.html,轉載請聲明來源鉆瓜專利網。
- 上一篇:呼叫轉移的實現方法及系統
- 下一篇:用于傳送煙草工業產品的設備
- 同類專利
- 專利分類
G06F 電數字數據處理
G06F19-00 專門適用于特定應用的數字計算或數據處理的設備或方法
G06F19-10 .生物信息學,即計算分子生物學中的遺傳或蛋白質相關的數據處理方法或系統
G06F19-12 ..用于系統生物學的建模或仿真,例如:概率模型或動態模型,遺傳基因管理網絡,蛋白質交互作用網絡或新陳代謝作用網絡
G06F19-14 ..用于發展或進化的,例如:進化的保存區域決定或進化樹結構
G06F19-16 ..用于分子結構的,例如:結構排序,結構或功能關系,蛋白質折疊,結構域拓撲,用結構數據的藥靶,涉及二維或三維結構的
G06F19-18 ..用于功能性基因組學或蛋白質組學的,例如:基因型–表型關聯,不均衡連接,種群遺傳學,結合位置鑒定,變異發生,基因型或染色體組的注釋,蛋白質相互作用或蛋白質核酸的相互作用





