【專利】圖形配置智能動態調節系統

另外一個小專利。專利文檔一樣非常晦澀古怪,因此貼了一篇後續總結的文檔。

雖然是智能動態調節系統簡單一句話,但包含了CPU,GPU,內存,硬碟,流量,發熱一系列的優化。並且持續開發了相當長的時間,優化和細節的打磨永無止境。人總是貪婪和矛盾的的,即希望畫面好功能多又希望遊戲能流暢運行在10年前的垃圾設備上。特別是當數據好的時候可能還會被忽視,當數據不好的時候人們就會質問為什麼這麼卡大家都玩不了?甚至在優化前有不少玩家反饋,為什麼玩XY我的硬碟燒了?我的顯卡燒了?這是什麼垃圾遊戲,我要賠錢。。。還有的玩家拿著10年前的筆記本電腦叫罵為什麼我的電腦玩不了?其實顯卡驅動在4年前,英特爾都停止更新了。。。

為此在軒轅做了近2年時間的優化工作,並將各種優化通過圖形配置智能動態調節系統進行統一。他特色就是可以根據當前遊戲的需求動態調節圖形配置,以讓成千上萬形形色色的電腦都可以流暢運行起來。最終我們可以完美支持56856種以上的顯卡和驅動的組合及各種操作系統。在不同的遊戲環境不同的同屏人數做了的自適應。玩家不必去做任何選擇,系統會確保玩家在任何時候都可以流暢運行遊戲,達到最佳的畫面和性能比。

在優化上端游和手游的差別並不大,Android的碎片化和PC也大同小異,這些技術也用在了後續手游項目的優化上,只是對短平快的手游難以用這麼長的時間進行如此深度的優化,做了一些精簡。

一、項目概述

圖形配置智能動態調節系統是一個在遊戲中進行智能分析並動態調節的核心系統,該系統於2010年3月開始開發,由軒轅傳奇客戶端團隊歷時2年於2012年3月開發完畢並應用在了已經上線的大型多人在線遊戲軒轅傳奇中,取得了良好的效果。

二、本項目總體規劃

2010年3月-2010年5月

用戶軟硬體環境的收集和分析,完成用戶硬體境智能動態調節圖形配置。

2010年5月-2010年10月

優化Shader系統。針對不同平台實現多套Shader保證遊戲兼容性。實現UbShader系統自動編譯動態載入SHader。加入Shader排序。

2010年10月-2011年5月

在CPU方面進行優化和加入根據配置自動調節。在內存方面進行優化,滿足最低啟動500M以內峰值1G以內的要求。在硬碟容量方面優化,將安裝包減少到2G以內。

2011年5月-2011年6月

完成遊戲內圖形配置智能動態調節系統。

2011年6月-2011年10月

在GPU方面進行大量優化和加入自動調節系統。

2011年10月-2012年2月

完成智能動態載入系統和智能動態調節LOD系統。

2012年2月-2012年3月

集成並完整的圖形配置智能動態調劑系統,測試並持續優化和完善該系統。

三、取得的階段性成果

2010年3月-2010年4月

用戶軟硬體環境的收集和分析,利用軒轅傳奇和騰訊平台,收集和分析用戶群的軟硬體環境並針對每種不同的環境進行智能配置評分,完成完整的圖形適配表。

2010年4月-2010年5月

根據圖形配置表在在遊戲啟動時按用戶環境智能的分配圖形配置,完成用戶硬體境智能動態調節圖形配置。

2010年5月-2010年7月

保證圖形系統能在所有軟硬體環境下正常高效的運行並根據遊戲啟動時設置的圖形配置切換不同的Shader和圖形效果。極致優化目前圖形系統的Shader並開發出多套Shader系統兼容不同的軟硬體環境,保證在任何平台下圖形系統都可以穩定高效的運行。

2010年7月-2010年9月

為了保證所有軟硬體環境的兼容,圖形系統的Shader已經達到上萬個,人工維護基本是不可能的,並且上萬種Shader的載入低配用戶的內容也無法承受。首先重構Shader系統,採用國際上主流的UbShader方式,通過腳本配置按模版自動生成Shader,上萬種Shader自動生成無需人工維護;在遊戲內動態載入Shader,按需載入和切換,保證Shader系統在用戶環境下內存開銷在30M以內;

2010年9月-2010年10月

加入國際主流引擎採用的Shader排序功能,保證即使同時使用上千種Shader,也能智能排序降低Shader系統切換渲染狀態的開銷。

2010年10月-2010年12月

針對用戶硬體環境下不同的CPU,加入多線程骨骼更新機制,在後台多線程更新骨骼系統,並可以根據用戶的CPU核數主頻自動優化充分使用CPU性能並減少多人同屏下的卡頓問題。

2010年12月-2011年1月

針對開發本系統特有的內存優化分析工具和STL內存分析工具,尋找出內存開銷瓶頸。

2011年1月-2011年3月

內存優化。完成UI貼圖智能載入系統,按需智能載入和釋放貼圖資源,減少用戶內存佔用量。Bin表二次壓縮,將bin表中0欄位進行壓縮將通用字元串壓縮放在bin表末尾,較少用戶內存佔用量。使用NiMap替換STLMap,後台動態載入場景和地形,後台動態載入NPC和角色,大幅優化邏輯方面內存使用開銷等方式優化內存。最終保證軒轅在低配平台啟動內存在300M以內,峰值內存在600M以內。

2011年3月-2011年5月

硬碟容量優化。針對地形系統,草,水的數據格式進行壓縮,將頂點數據等不存在硬碟中而是在渲染時在Shader中計算解壓,智能減少導空地形數據和。最終保證硬碟空間節省50%以上,最終保證安裝包在2G以內。

2011年5月-2011年6月

開發遊戲內圖形配置智能動態調節系統,智能分析用戶當前遊戲內環境並結合用戶軟硬體環境對圖形系統進行動態調節,始終保持用戶遊戲時的流暢體驗。當用戶處於大量玩家同屏PK等複雜遊戲環境時,智能無縫降低圖形配置,當用戶處於簡單遊戲環境時自動提升圖形配置。整個過程是平滑無縫的體驗,在用戶毫無知覺的情況下保證用戶的最佳體驗。

2011年6月-2011年8月

提高遊戲內的圖形渲染效果和渲染效率,加入空間環境光遮罩,加入動態軟陰影切換,加入光照貼圖等。並在編輯器中加入光照效果的開發流水線和預烘培技術,導出時根據複雜規則智能壓縮合併光照貼圖。在提示渲染效果的同時優化渲染效率。

2011年8月-2011年10月

在複雜遊戲環境下減少DP數提升效率,減少不同環境下性能的差別。其中包括,加入合併UI的功能將大量UI單元在一個批次內渲染;動態合併角色,將角色材質,模型在動態後台合併,保證一個角色在一個DP內渲染。

2011年10月-2011年12月

完成場景的智能動態載入,在遊戲內按照視野,遠近重要程度,用戶軟硬體環境,遊戲內環境等複雜規則智能載入當前所需範圍內的地形,模型,角色等。大幅減少內存,CPU和GPU的開銷並提升渲染效果。

2011年12月-2012年2月

完成智能動態材質LOD,粒子LOD,地形Lod,貼圖動態Mipmap切換等。通過分析遊戲內環境,智能生成並切換渲染對象的材質系統,粒子效果等,在不需要美術修改的情況下完成智能動態調節渲染效果和性能開銷。

2012年2月-2012年3月

測試並完整驗證圖形配置智能動態調節系統,修改bug並優化和完善,達到產品級別並推廣給玩家體驗。

四、與同類產品(服務)的競爭優勢

隨著大型多人在線遊戲的興起,遊戲行業面臨著兩方面的矛盾需求。一方面隨著遊戲的發展,更精美的畫面,更多人同屏,成為了潮流和趨勢,遊戲對電腦性能有了越來越高的要求;另一方面隨著用戶的不斷擴展,遊戲既需要滿足千差萬別的軟硬體環境也需要滿足不可預期的遊戲內環境,低配電腦也要流暢運行多人同屏也要流暢運行。這兩方面的需求矛盾限制了遊戲產業的發展,成為了一個世界性的難題。

對此目前國內外都沒有好的解決方法,有些公司犧牲遊戲畫面和遊戲性,通過降低遊戲品質來滿足最低配置的用戶,從而獲得較好的兼容性,例如征途,RO等遊戲,通過採用2D的渲染方式來降低遊戲對軟硬體的要求;有些公司為了追求遊戲的高畫質和高品質而放棄大量的低配用戶放棄多人在線的遊戲方式,採用單機模式只有高標準的軟硬體才能流暢體驗低配電腦無法運行遊戲,例如孤島危機,戰爭機器,以及永恆之塔等等。

而圖形配置智能動態調節系統針對不同的軟硬體環境和遊戲環境,在對用戶透明的情況下智能自動的在性能,畫面和遊戲性方面進行動態調節,一舉解決了這個行業難題。因而該系統也同行業中出於領先地位,並被多個遊戲採用,推動了遊戲產業的發展。


推薦閱讀:

使用英特爾GPA優化《軒轅傳奇》遊戲的性能
新到一家P2P公司在寫網站推廣方案,由於沒有寫過,希望大家給些補充和意見?謝謝
使用SubStance壓縮貼圖評估報告
軒轅傳奇場景優化筆記
如何解決IOS可執行文件TEXT段超標

TAG:专利 | 优化 | 游戏开发 |