口碑爆棚!Incredibuild備受好評(píng)!

Frag Lab是一家烏克蘭獨(dú)立視頻游戲開發(fā)商,由一群熱衷于開發(fā)最佳的AAA級(jí)在線F2P FPS游戲的開發(fā)者組成。作為 FPS的發(fā)燒友,以及擁有之前開發(fā)多款值得關(guān)注的FPS的經(jīng)驗(yàn),‘Frag Lab出品’正在成為射擊游戲愛(ài)好者所追逐的標(biāo)簽。

該團(tuán)隊(duì)使用Visual Studio在Windows平臺(tái)上開發(fā)C ++游戲客戶端,另一方面,游戲的服務(wù)器基于Windows和Linux的混合環(huán)境。使用Windows版本的服務(wù)器是因?yàn)榉奖闶褂肰isual Studio IDE,而Linux版本的服務(wù)器是使用Clang構(gòu)建的,其目的在于生產(chǎn)部署。

Frag Lab工作室的技術(shù)總監(jiān)Sergey Rustamov表示,他們最大的挑戰(zhàn)是開發(fā)人員在本地進(jìn)行編譯的時(shí)候。由于源代碼的組織方式和C ++語(yǔ)言本身的原因,特別是在常見(jiàn)的C ++頭文件中發(fā)生的許多變化會(huì)觸發(fā)不同地方的大規(guī)模重建。沒(méi)有分布式編譯系統(tǒng),此操作非常耗時(shí)。而且導(dǎo)致了整個(gè)CPU的使用率在編譯過(guò)程中非常高,因此幾乎不可能切換到另一個(gè)任務(wù),所以非常浪費(fèi)開發(fā)人員的時(shí)間。

編譯緩慢并不是Frag Lab唯一的性能挑戰(zhàn)。該工作室用Jenkins開發(fā)的持續(xù)集成系統(tǒng),也需要盡可能快地執(zhí)行。

Sergey表示在開發(fā)流程中,最重要的是持續(xù)集成系統(tǒng)的速度,它使他們能夠在提交到Perforce時(shí)盡早發(fā)現(xiàn)錯(cuò)誤,并在開發(fā)人員對(duì)源代碼進(jìn)行更改后幾乎立即讓QA團(tuán)隊(duì)獲得自動(dòng)編譯,同時(shí)再次尋找錯(cuò)誤。

而Incredibuild完全符合他們的發(fā)展理念——加快編譯速度,立即獲得成果,盡早發(fā)現(xiàn)錯(cuò)誤,從錯(cuò)誤中吸取教訓(xùn),重復(fù)發(fā)展,直至獲得成功。

通過(guò)IncrediBuild,每個(gè)Frag Lab的開發(fā)人員都可以將與游戲開發(fā)相關(guān)的各種任務(wù)分配給網(wǎng)絡(luò)中的其他機(jī)器,并享受所有機(jī)器內(nèi)核總和的計(jì)算能力帶來(lái)的速度。

IncrediBuild在開發(fā)過(guò)程中可以用于以下內(nèi)容:

幫助開發(fā)人員快速編譯本地更改

加快Frag Lab的持續(xù)集成系統(tǒng),減少編譯和自動(dòng)編譯工具的等待時(shí)間

所有IncrediBuild的編譯步驟均由稱為WAF的編譯系統(tǒng)進(jìn)行管理。它使用Make and Build解決方案與IncrediBuildirectly集成,允許開發(fā)人員加速WAF,Ninja,MS Build等工具,以及更多即插即用的工具。

Linux版本的游戲服務(wù)器不是分布式的,而是在所有可用的CPU內(nèi)核上垂直擴(kuò)展,以加快編譯過(guò)程。加速CI周期時(shí),Incredibuild的分布式處理技術(shù)加速了以下內(nèi)容:

通過(guò)提交操作觸發(fā)的開發(fā)流自動(dòng)編譯

Canary版本主線自動(dòng)編譯系統(tǒng)及早發(fā)現(xiàn)破損主體

主線以及分支的編譯速度

Sergey總結(jié)了他對(duì)IncrediBuild的看法,從開發(fā)人員的角度來(lái)看,使用和不使用IncrediBuild的編譯時(shí)間之間的差異是巨大的。我們從開發(fā)團(tuán)隊(duì)收集編譯數(shù)據(jù),以查看大多數(shù)典型編譯操作的平均時(shí)間,平均需要200秒來(lái)編譯本地更改,而沒(méi)有IncrediBuild時(shí),它會(huì)花15分鐘到幾個(gè)小時(shí)不等,具體取決于更改的規(guī)模大小。 IncrediBuild是為我們提供快速CI管道的關(guān)鍵組件,尤其是對(duì)于自動(dòng)編譯流程。“

極客網(wǎng)企業(yè)會(huì)員

免責(zé)聲明:本網(wǎng)站內(nèi)容主要來(lái)自原創(chuàng)、合作伙伴供稿和第三方自媒體作者投稿,凡在本網(wǎng)站出現(xiàn)的信息,均僅供參考。本網(wǎng)站將盡力確保所提供信息的準(zhǔn)確性及可靠性,但不保證有關(guān)資料的準(zhǔn)確性及可靠性,讀者在使用前請(qǐng)進(jìn)一步核實(shí),并對(duì)任何自主決定的行為負(fù)責(zé)。本網(wǎng)站對(duì)有關(guān)資料所引致的錯(cuò)誤、不確或遺漏,概不負(fù)任何法律責(zé)任。任何單位或個(gè)人認(rèn)為本網(wǎng)站中的網(wǎng)頁(yè)或鏈接內(nèi)容可能涉嫌侵犯其知識(shí)產(chǎn)權(quán)或存在不實(shí)內(nèi)容時(shí),應(yīng)及時(shí)向本網(wǎng)站提出書面權(quán)利通知或不實(shí)情況說(shuō)明,并提供身份證明、權(quán)屬證明及詳細(xì)侵權(quán)或不實(shí)情況證明。本網(wǎng)站在收到上述法律文件后,將會(huì)依法盡快聯(lián)系相關(guān)文章源頭核實(shí),溝通刪除相關(guān)內(nèi)容或斷開相關(guān)鏈接。

2019-01-17
口碑爆棚!Incredibuild備受好評(píng)!
Frag Lab是一家烏克蘭獨(dú)立視頻游戲開發(fā)商,由一群熱衷于開發(fā)最佳的AAA級(jí)在線F2P FPS游戲的開發(fā)者組成。

長(zhǎng)按掃碼 閱讀全文