當前位置:
首頁 > 新聞 > Intel資深工程師:IP大作《星際迷航:艦橋成員》開發經驗分享

Intel資深工程師:IP大作《星際迷航:艦橋成員》開發經驗分享

Unite 2017 Shanghai大會,Intel資深應用工程師王文斕帶來《高效利用CPU實現極致的圖形特效:"星際迷航:艦橋成員"VR體驗》的開發經驗分享。

以下為VR陀螺整理的演講內容(略有刪減):

王文斕:大家好!我是來自lntel的工程師,今天想跟大家分享一個主題,我們怎麼樣在《星際迷航:艦橋成員》這款遊戲上充分利用CPU的資源。

在這個環節裡面我會講到五個部分:

第一部分利用額外沒有被充分利用的計算資源(CPU這部分)能夠為開發者帶來什麼樣的好處。

第二部分會介紹遊戲本身的美術場景跟考慮。

第三部分會講到怎麼樣分析遊戲性能上是不是存在問題,怎麼優化它。

第四部分會介紹什麼樣的特徵是屬於對CPU的計算需求比較高。

第五部分會給大家一個工具,自己CPU是什麼樣的計算程度。

《星際迷航》遊戲會在這個月底左右上線,這個遊戲是通過多人協作去探索宇宙的遊戲,大家會扮演不同的角色。在美術上我們需要設計這個場景,整個艦橋的場景是要跟電影、電視劇的場景做匹配。

右邊上面是真實的電影場景,下面是遊戲的場景。我們按照設計師一比一的對應,為了在遊戲遊玩過程中,玩家可以在虛擬世界裡互相看到對象,所以我們對位置做了調整,讓用戶感覺到他是在協作的環境里。

關於性能方面的問題,我們怎麼樣判斷一個遊戲計算能力是不是被充分利用?

我們知道遊戲會有最低的配置要求,我們必須要保證遊戲在最低配置要求上能夠比較穩定地跑在90幀率的情況。很多玩家手上的PC、GPU是更強的顯卡,針對這些機器我們有額外的計算資源是可 以用起來的。針對這部分我們可以特別考慮,以CPU為例,我們可以先找出來到底哪些部分是CPU-intensive,是動態光、實時的全局光照。動畫對CPU的計算資源要求是高的,所以我們可以對這些部分充分發揮一下,適配在高端的CP上。

比如說是光照這部分,如果是低端的配置因為CPU能力比較差,所以你只可以用到烘焙光,如果你有比較強的光的時候,你除了烘焙光之外可以加入某些動態的光照,會為遊戲帶來豐富的畫面展現效果。

像動畫這部分,如果是一般低端的遊戲你需要用到方法去優化,減少畫面裡面的數目。如果是在高端BC這部分也是可以加強的。

另外是粒子跟環境的壓力,會受到物理碰撞,這個部分也可以通過CPU的計算能力加強。

具體來說哪些部分可以通過CPU能力的加強去加強體驗呢?

比如說針對《星際迷航》這款遊戲,在宇宙空間里的太陽風暴,會有太陽光飛出來的粒子等各種效果,這些效果都需要用到CPU作為物理計算,所以這部分可以做加強的。

其次是屬於光照部分,因為這個遊戲主要是在艦橋裡面做交互的,在這個過程裡面涉及到物件被破壞了,可能有火光和火花出來,這樣通過加入動態全局光照加強整體的效果。

另外艦橋前面有很大的窗口可以看到宇宙的情況,通過窗口可以把宇宙外面的光照加入到艦橋裡面,讓你感覺這是一個真實性、光照感比較強的遊戲,這裡也可以通過CPU計算能力達到的效果。

另外關於可破壞部分,剛才也提到了粒子、火光產生的動態光。

Oculus把最低配置要求從I5變成I3,我們確保遊戲在最低配置上也能穩定地跑在90幀率,除此以外額外的計算能力能夠幫它帶來什麼樣的好處。

如果玩家是6700,現在可能有7700或者是7700K,對比I5從四個線程變成了八個線程,還有更大的帶寬。如果在遊戲裡面你的體驗跟現實體驗是一樣的話,那用戶會覺得我那麼強的配置,不應該只有這個畫面。

所以我們講到這個主題,如果我們可以通過額外增加效果。比如說可破壞、動態光、粒子效果、額外內容、音頻、動畫、物理、全局互動、天氣效果,是需要利用到CPU做計算的。如果你把額外的功能可以整合在遊戲裡面,去適配高端配置,就可以為高端配置帶來更好的體驗。你能夠確保不同的玩家都可以在他的遊戲中達到最好的效果。

從線程判斷來看,上面是GPU部分,下面是CPU部分。工程進程都是利用率比較低的,所以大部分情況下資源沒用到。剛才說能夠把額外的用起來,在高端配置上就可以達到剛才說的效果。

但是在做效果之前必須要確保遊戲在對應的標準配置、高端配置上運行的情況。這裡面需要一些工具幫我們去分析。

這裡介紹兩個工具,一個是Windows* erformance Toolkit。另一個是Intel Graphics Performance Analyzer。

這裡有一個例子屬於WPA這一塊兒, Windows* Performance Analyzer。開啟了動態全局光照以後,光照是佔在3.15CPU的資源。所以我們可以通過這樣的工具去分析整個遊戲的線程。

這是GPU VIEW,可以看到上面是屬於GPU的利用情況,中間是Idle,最下面是process。

另外講講GPA,GPA是lntel關於GPU的部分,這個部分是可以適用於VR的,可以通過這個工具分析VR在運行的時候GPU的情況。

我們可以先看一個視頻,在這個視頻裡面我們可以看到粒子效果是加入物理效果的例子,碰到下面的地板會反彈。我們可以去測一下,在三種情況,第一是沒有物理的粒子。第二是有物理的例子是全局應用的。第三是只是對某些地方地板或者牆面起作用。

這裡GPUView的圖是沒有用到粒子的,這些地方CPU都沒做事情,所以這部分的計算資源被浪費掉了。

我們可以看到Idle timeline,有顏色的情況CPU都是空的,CPU越閑置利用率越差,我們可以看一下把物理加進去會有什麼效果,紫色的部分明顯變少了,通過加入這樣的物理效果以後,整個CPU利用率可以很好地提升起來。這是同樣的圖,我們可以看到Idle是減低的,加入物理效果以後,整體的CPU利用率提高了。

這是我們測試的環境,我們可以看到如果不開物理的時候可以跑800多幀,開了對所有物件都有反饋的效果,會掉到225幀。如果是單獨的話是480多幀。

我們不希望加入效果使得GPU的利用率也上去了,GPU在VR裡面是比較緊張的資源,所以希望加入CPU效果的同時,GPU的影響是比較低的。這裡看到GPU增加了物理效果以後,增加了效果。

我們可以看一下艦橋成員在沒有物理例子情況下的視頻。

大家看到這個粒子是沒有物理的,是最低配置的效果。我們可以看一下把物理加進去的效果,大家可以看到粒子掉到地上的時候會反彈,是帶有物理的粒子效果。

同樣在這個遊戲裡面可以看到粒子效果對遊戲造成的GPU額外渲染時間,還是非常低的。

接下來可以看一下實時全局光照,它能夠通過光照反映在物件上的效果,我們可以看一下它同樣的CPU利用情況,不用動態的GI全局光照的話CPU利用率比較差,但是用上的話額外的也可以用下來,下面屬於全局光照佔用的CPU情況。

另外剛才說到WPA,看一下在整體的遊戲當中,全局光照關掉的時候,可以看到它的CPU佔用是18.4%,打開的話可以佔到53%。這是反映在幀率上的數字。

可以看一下全局光照在《星際迷航》這款遊戲當中的情況,這是最低配置,只有用到烘焙的全局光,沒有用到動態的全局光,牆壁不會因為火光而變化。

如果把動態全局光加進入以後的效果,很明顯牆壁的光照會受到火的變化影響,所以這是更明顯的對比視頻,大家可以看到兩種效果的區別。

屬於單純不注意看全局光的話可能看不出來,如果你去比較的話可以非常明顯地看到兩者的區別,有動態全局光和沒有動態全局光的區別,它會為你的遊戲帶來好的體驗。

用戶在艦橋裡面,感受到周圍的環境變化會受到實時的情況反映在環境裡面,比如說剛剛看到的某些地方可能出現爆炸,那些效果光影變化反映在周圍的牆壁、天花板,為遊戲帶來沉浸的效果,體驗更好。

這是在Unity裡面的設計,大家回去可以看一下怎麼樣開啟動態全局光。

這是另外一個效果,這個視頻主要講的是太陽風暴,右邊通過更強的CPU可以把太陽風暴加進去,但是左邊I5的性能沒那麼強,所以沒法加進去。

另外講一下Skyboxes的部分,最簡單的例子的VR去做Skyboxes,如果我自己在VR裡面進Skyboxes沒有任何的物件在中間做交互,我覺得這是一個比較假的環境。

通過加入用戶跟Skyboxes之間的額外效果,會對你的沉浸效果帶來比較好的影響。在Skyboxes之間加入更多的碰撞效果進去,使得你遊戲的體驗更豐富。

另外我們看一下屬於其他物件加物理的視頻,這是可破壞物件的部分,當中它需要很多的物理計算,需要跟周圍的物件做物理交互。我們可以看一下對這些物件沒有開物理效果,它的利用率是比較差的,大部分情況下都是空的。

如果把它加起來的話,這些物理會加入到其他的地方做,所以可以把它用起來,CPU的利用率是提升上去的。

這是可破壞的視頻,攻擊敵方的船,會爆炸,這是I5的情況。但是如果針對高端的CPU的話可以把更多的物理效果加進去,爆炸以後船是炸開的,有更多的碎片飛出來。

剛才說到可破壞的部分,第一是它肯定會產生額外的動畫。我們通過剛才的分析,發現對GPU的影響是比較低的,在遊戲裡面我們可以體驗到物理之間的場景,場景之間的互動。

如何增加GPU的效果?第一是儘可能把GPU的計算如果能移到CPU上就移過去。GPU有給更多的時間做渲染,這樣整體的畫面效果會更好。

另外在布料的模擬跟風的效果也是需要很多的物理計算,這雖然也是CPU的功能。另外是像動畫,如果是低端的CPU沒法開啟很多比較複雜的動畫。我們需要考慮到針對低端的標準配置是用這個,但是如果有高端的話其實可以考慮加強這樣一個部分。

剛才還說到數學的部分,比如說太陽風暴需要做軌道計算也是純CPU的計算能力,所以這部分也是可以考慮針對高端CPU加入的效果。

通過剛才說的這幾點,動態全局光、額外的粒子效果、小行星碰撞、碎片可破壞物件,雖然這些效果看起來不明顯,但是如果加起來的話會對整體的遊戲體驗帶來豐富的沉浸的效果。

用GPU View看一下針對I5和I7版本的GPU情況,這個是I5的版本,下面是GPU的線程。I5的效果比較差,如果效果加太多的話會有反差,所以只能開啟基本的效果。I7有770K,可以看到工作線程把其他的CPU線程功能用滿。這是I5,所以只有四線程,沒法給到它很多的核數,所以利用率是低的。但是是I7的話可以把額外的線程加起來,把CPU額外的核給用起來。

這裡介紹一個軟體,Git Hub,大家可以用它去看現在我運行的這款CPU在什麼程度。通過這個可以看我的遊戲分別是低端、中段、高端的CPU運行情況。是針對低端CPU可能是計算能力比較差,基本上要保持90FX就可以了。但是針對比較強的就需要把粒子加進去,比較高端的CPU除了衣服、粒子、物理以外,還要把額外的動態全局光加進去,這樣可以使得不管是哪一個CPU玩家都能夠在對應的場景達到最好的體驗。

這是Example的函數,這是在lntel網站上找到的I7-6700K的函數,你可以把它當成高端的軟體,我們找到它的參數,用我們的程序把它對應參數,是高端CPU設成需要八線程,在我遊戲對應起來可能設開關,如果發現我的遊戲裡面的數目都大於我設的值的話,就把這些工程開啟,這樣去適配你這個遊戲對不同CPU的適配。

今天講的主要是這幾部分,首先要保證你遊戲針對最低配置能夠達到90幀,除此以外可以看一下在最低配置保證了以後,如果有更好的CPU/GPU的話,額外得到的有多大,CPU、GPU有多少資源可以再利用,決定了以後可以把遊戲分成幾檔。利用提供的插件,可以根據玩家的配置調到最適合配置的設置選項,讓他們確保每一檔CPU的玩家在他這一檔能夠達到最好的體驗,最後這個效果滿足到各個層面的玩家需求,為你的遊戲帶來營收。

謝謝大家!

我們的聯繫方式:

商務合作 | 採訪 | 投稿 :文靜(微信 mutou_kiki)

交流分享 | 爆料:案山子 (微信 shimotsuki_jun)

喜歡這篇文章嗎?立刻分享出去讓更多人知道吧!

本站內容充實豐富,博大精深,小編精選每日熱門資訊,隨時更新,點擊「搶先收到最新資訊」瀏覽吧!


請您繼續閱讀更多來自 intel 的精彩文章:

cpu界大牛Intel為何放棄手機處理器?
Intel X299平台參數曝光:還是四通道
著名晶元巨人竟被人叫做「擠牙膏的」
碾壓Intel!三星8/7/6/5/4nm工藝登場
Intel新一代低功耗平台 性能漲了卻低調

TAG:intel |

您可能感興趣

英國首位宇航員Helen Sharman:NASA計劃派出全女性成員團隊執行火星探測任務
T-ara、Sistar成員與BLACKPINK出演綜藝《RM》!
「MD PHOTO」LABOUM成員 solbin攜手G-Friend成員Eun Ha,Yuju出席網路綜藝發布會
[MD PHOTO] Red Velvet成員Irene仁川機場啟程飛往法國巴黎
[MD PHOTO] 原WANNA ONE成員邕聖祐任仁川教育廳宣傳大使
《Running Man》HAHA是BlACKPINK成員JENNIE的超級粉絲
A-PINK成員 尹普美將主演SBSNetflix合作短篇劇《農夫士官學校》
「MD PHOTO」VIXX成員Ken等偶像藝人 參加音樂劇《鐵假面》公開演習
[MD PHOTO] 韓國女團EXID成員Hani拍代言品牌最新廣告
「MD PHOTO」Seventeen成員 MINGYU與SEUNGKWAN參加《偶像明星田徑錦標賽》保齡球比賽
Guerrilla為新作招募《彩虹六號》開發組成員
PRIVATEMARKET.IO宣布任命顧問委員會新成員
韓國女團MAMAMOO成員 Solar新專輯造型曝光
「MD PHOTO」EXO成員世勛 等藝人出席網路電影《獨孤rewind》發布會
[MD PHOTO] 韓國男團wanna one成員金在奐亮相機場飛往倫敦
SHINee成員Key社交網站發布與SMAP香取慎吾合影
「MD PHOTO」EXO成員SUHO出席 新劇《Rich Man》發布會
JYP家族拉大隊支持TWICE演唱會!SJ、Red Velvet、EXID等成員也在場?
FTISLAND李在真將攜手 EXO成員SUHO出演電視劇《Rich Man》
SM娛樂公司確認EXO成員KAI與BLACKPINK成員JENNIE分手