如何为 Unreal Engine 4 启用 /arch:AVX?

How to enable /arch:AVX for Unreal Engine 4?

我正在尝试为 Unreal Engine 4 设置 AVX 支持。据我所知,它默认使用 SSE2 并且它是自己的 NMake,因此没有 Visual Studio 属性页面可以访问和添加拱到.

我应该在哪里设置它?

注意:尝试支持 AVX、AVX2 和 AVX512。

Visual Studio 属性没有什么特别之处。它们只是 xml 项目文件中节点的 "human readable" 版本,编译器 (cl.exe) 和链接器 (link.exe) 的命令行参数。只需打开属性,设置 AVX 选项,然后切换到 "Command Line" 选项卡即可查看给 cl.exe

的实际选项

所以你只需要在你的 nmake 文件中添加 /arch:[AVX|AVX2|AVX512] option to the line that calls cl.exe。例如

cl /EHsc /arch:AVX /Fe$(DIR_BIN)$(EXECUTABLE_NAME) /I$(DIR_INCLUDE) $(SRC_FILES)

在UE4源代码中寻找VSToolChain.cs文件。该文件正在为 MSVC 设置所有编译器标志。

在那里,搜索它在做什么 /arch:AVX。它在一些 if() 中。要强制使用 AVX 或 AVX2 或 AVX512,只需将 /arch:AVX 或 /arch:AVX2 或 /arch:AVX512 放在该函数的顶部,以便始终添加标志。然后重新编译引擎。