口碑爆棚!Incredibuild备受好评!

Frag Lab是一家乌克兰独立视频游戏开发商,由一群热衷于开发最佳的AAA级在线F2P FPS游戏的开发者组成。作为 FPS的发烧友,以及拥有之前开发多款值得关注的FPS的经验,‘Frag Lab出品’正在成为射击游戏爱好者所追逐的标签。

该团队使用Visual Studio在Windows平台上开发C ++游戏客户端,另一方面,游戏的服务器基于Windows和Linux的混合环境。使用Windows版本的服务器是因为方便使用Visual Studio IDE,而Linux版本的服务器是使用Clang构建的,其目的在于生产部署。

Frag Lab工作室的技术总监Sergey Rustamov表示,他们最大的挑战是开发人员在本地进行编译的时候。由于源代码的组织方式和C ++语言本身的原因,特别是在常见的C ++头文件中发生的许多变化会触发不同地方的大规模重建。没有分布式编译系统,此操作非常耗时。而且导致了整个CPU的使用率在编译过程中非常高,因此几乎不可能切换到另一个任务,所以非常浪费开发人员的时间。

编译缓慢并不是Frag Lab唯一的性能挑战。该工作室用Jenkins开发的持续集成系统,也需要尽可能快地执行。

Sergey表示在开发流程中,最重要的是持续集成系统的速度,它使他们能够在提交到Perforce时尽早发现错误,并在开发人员对源代码进行更改后几乎立即让QA团队获得自动编译,同时再次寻找错误。

而Incredibuild完全符合他们的发展理念——加快编译速度,立即获得成果,尽早发现错误,从错误中吸取教训,重复发展,直至获得成功。

通过IncrediBuild,每个Frag Lab的开发人员都可以将与游戏开发相关的各种任务分配给网络中的其他机器,并享受所有机器内核总和的计算能力带来的速度。

IncrediBuild在开发过程中可以用于以下内容:

帮助开发人员快速编译本地更改

加快Frag Lab的持续集成系统,减少编译和自动编译工具的等待时间

所有IncrediBuild的编译步骤均由称为WAF的编译系统进行管理。它使用Make and Build解决方案与IncrediBuildirectly集成,允许开发人员加速WAF,Ninja,MS Build等工具,以及更多即插即用的工具。

Linux版本的游戏服务器不是分布式的,而是在所有可用的CPU内核上垂直扩展,以加快编译过程。加速CI周期时,Incredibuild的分布式处理技术加速了以下内容:

通过提交操作触发的开发流自动编译

Canary版本主线自动编译系统及早发现破损主体

主线以及分支的编译速度

Sergey总结了他对IncrediBuild的看法,从开发人员的角度来看,使用和不使用IncrediBuild的编译时间之间的差异是巨大的。我们从开发团队收集编译数据,以查看大多数典型编译操作的平均时间,平均需要200秒来编译本地更改,而没有IncrediBuild时,它会花15分钟到几个小时不等,具体取决于更改的规模大小。 IncrediBuild是为我们提供快速CI管道的关键组件,尤其是对于自动编译流程。“

极客网企业会员

免责声明:本网站内容主要来自原创、合作伙伴供稿和第三方自媒体作者投稿,凡在本网站出现的信息,均仅供参考。本网站将尽力确保所提供信息的准确性及可靠性,但不保证有关资料的准确性及可靠性,读者在使用前请进一步核实,并对任何自主决定的行为负责。本网站对有关资料所引致的错误、不确或遗漏,概不负任何法律责任。任何单位或个人认为本网站中的网页或链接内容可能涉嫌侵犯其知识产权或存在不实内容时,应及时向本网站提出书面权利通知或不实情况说明,并提供身份证明、权属证明及详细侵权或不实情况证明。本网站在收到上述法律文件后,将会依法尽快联系相关文章源头核实,沟通删除相关内容或断开相关链接。

2019-01-17
口碑爆棚!Incredibuild备受好评!
Frag Lab是一家乌克兰独立视频游戏开发商,由一群热衷于开发最佳的AAA级在线F2P FPS游戏的开发者组成。

长按扫码 阅读全文