【发布时间】:2016-11-28 00:42:00
【问题描述】:
我目前正在研究虚幻引擎在计算密集型项目中的可用性,而 Google 并没有提供太大帮助。
我需要在游戏循环的背景下为当前使用 OpenMP 实现的项目进行一些繁重的计算。流体模拟。
Windows 上的虚幻引擎使用 Visual Studio 编译和构建,因此应该支持 Visual Studio 编译器所具有的功能,但我不清楚您是否可以使用 OpenMP 的正确设置来编译 UE。 或者,我可以很容易地使用 Intel 的线程构建块 TBB 来完成这项工作,这显然已经在 UE 中使用了……尽管可能只有内存分配器部分?
一般来说,我想我的问题是对使用 UE 的跨平台高度并行计算有什么支持。如果您需要在所有可用内核上运行大量相同的计算,您如何在 UE 中执行此操作? 我对手动创建一些线程、在块代码上运行它们、通过加入等待完成然后继续前进不感兴趣。为了我的目的,我更喜欢parallel_for循环。
此外,我想知道在 UE“脚本”中使用 CUDA 或 OpenCL 等其他框架是多么容易。
我来自 Unity,在那里我围绕原生 dll 制作了 c# 包装器,用 c++ 编写,以获得高性能,但我有点厌倦了这种用 c# 包装原生的东西,所以我更喜欢基于 c++ 的引擎......但如果这本身限制了我可以在我的 c++ 代码中做的事情,那么它并没有太大帮助......我认为它可以工作,当我学习如何时,但我无法找到 任何关于上述任何问题的信息。任何带有“并行”一词的东西通常都会导致蓝图。
【问题讨论】:
标签: c++ multithreading parallel-processing unreal-engine4