愚头的博客

一位图形学爱好者的唠叨

想编译UE4?请不要安装免费版IncrediBuild!

关于IncrediBuild

IncrediBuild是一个很棒的分布式编译工具,它不但可以加速编译C++、C#或者Java,而且还支持Shader编译👍。在很多大公司的版本发布里都会用到。当你在安装VisualStudio时,从安装组件中不难发现它的身影。

incredibuild in visual studio install

与UE4的关系

目前UE4项目越来越大,完整编译一次都要很长时间(至少一小时)。对于安装了IncrediBuildVisualStudioIncrediBuild会自动针对UnrealEngine加速编译。当然也会加速Shader编译,要知道重新编译UE4的Shader也是一个漫长的过程(尤其对于我这台机器来讲)。

会有什么问题

前一段时间在写一些C/C++项目时,但是总觉得编译太慢(VS自己的编译速度已经很不错了),所以就在更新VisualStudio时勾选了IncrediBuild - Build Acceleration。安装过后很顺利地用上了免费版的IncrediBuild(也就是无许可证书的版本),总体感觉对于编译项目的提升还是有一定效果的。

随后又打开了一个UE4的C/C++项目,编译的速度也是不错的😎。在修改一个材质后点击保存按钮,这个时候问题来了,保存进度一直不动,整个UE4编辑器像是在等待什么。在尝试几十次后都搞不懂问题出在哪里,考虑到材质保存时会引擎会编译Shader,所以干脆按**Ctrl+Shift+.**重新编译Shader,但是编译Shader进度依然不动。更悲剧的是编辑器都无法打开了,启动编辑器后进度到45%时就停止了😱。至此整个项目都搞不下去了。

稍等冷静下来🧠回想一下我都干了什么,“编译C/C++、修改材质、编译材质、重新编译Shader、、、”,“好吧,再来一次、、、”。

接下来看日志,里面也是显示正在编译Shader中。打开任务管理器,UE4Editor进程一直在运行,似乎在耐心地等着,可我已经没有耐心了。 突然想起重新编译Shader会启动很多ShaderCompileWorker.exe,但是为什么现在只剩下一个了?既然和编译有关,自然联想起前几天安装上的IncrediBuild。卸载这个神器,项目再次恢复😂。

如果大家不想卸载IncrediBuild,可以参考这篇文章《UE4 关闭IncredBuild加速编译插件》。不过在我看来,干脆卸载,不折腾。

总结下来就是

玩UE4的穷鬼不要用免费版的IncrediBuild