虚幻4吧 关注:11,375贴子:24,971
  • 8回复贴,共1

Unreal Engine大幅提升编译速度的技巧

只看楼主收藏回复

Unreal Engine引擎作为世界上最先进的游戏引擎之一,它的优点就和青春期男孩脸上的青春痘一样多,而且时不时的还往外冒几个。这个咱们就不多说了。
咱们主要来说一说它的缺点。
它最令人诟病的一点就是编译速度的问题,实在是太慢了。如果是做C++开发的话,那么编译的时间都能够你上个厕所了。
虽然编译速度这个东西主要靠官方来优化,但是时间长了大家也琢磨出来一些门道。


IP属地:河北1楼2019-09-19 16:56回复
    其中流传最广的一个就是“空格法”。
    这个方法可以在某些情况下下把编译时间加快三倍左右,比较恐怖了。
    我们讲一下操作过程:
    1.首先在Unreal Engine的安装文件夹下找到Win64这个文件,每个人的安装位置不太一样这是我的安装文件路径:E:\UE\UE_4.20\Engine\Binaries\Win64
    在下面找到Win64这个文件。
    2.在Win64这个文件中找到一个UnrealHeaderTool.target的。使用Visual Studio打开,它的位置是比较靠近底部的。


    IP属地:河北2楼2019-09-19 16:57
    回复
      2026-02-02 14:39:56
      广告
      不感兴趣
      开通SVIP免广告
      3.找到这个文件之后打开之后使用鼠标点击第一行也就是下图显示的位置。


      IP属地:河北3楼2019-09-19 16:57
      回复
        4.加个空格即可,对你没看错就是在第一行的末尾加一个空格然后Ctrl+S保存就可以了。注意是空格不是回车。


        IP属地:河北4楼2019-09-19 16:57
        回复
          接下来就可以测试了。
          我们添加一段代码:
          UPROPERTY(VisibleAnywhere, BlueprintReadOnly, Category = Mesh, meta = (AllowPrivateAccess = "true"))
          class USceneComponent* SketalMeshLocation;
          我们来看一下,但是注意第一次编译和新添加反射代码时候进行编译时间是没有变化的。添加空格前和添加空格后都是16秒左右。


          IP属地:河北5楼2019-09-19 16:58
          回复
            关键就是第二次编译,当你没有更改任何代码的情况下再次编译,添加空格之前我的电脑是需要3秒左右。添加空格之后只需要:0.99s。


            IP属地:河北6楼2019-09-19 16:58
            回复
              这个技巧在不添加反射代码的情况下这个能大幅加快编译速度。但是增加了反射相关代码的情况下。就和之前没有区别。
              虽然有一定的局限性,但是对于C++开发人员来说能够提高不错的效率。值得一试!
              附录:
              如何显示文件后缀名:
              第一步打开文件夹选项


              IP属地:河北7楼2019-09-19 16:58
              回复
                2.在文件夹选项中取消勾选“隐藏已知文件类型的扩展名”


                IP属地:河北8楼2019-09-19 16:58
                回复
                  2026-02-02 14:33:56
                  广告
                  不感兴趣
                  开通SVIP免广告
                  可以在B站直接搜索:来自程序员的暴击


                  IP属地:河北9楼2019-09-19 16:59
                  回复