[英]Parallel computation with unreal engine 4
我目前正在研究虚幻引擎在计算密集型项目中的可用性,而Google并没有提供任何帮助。
我需要在游戏循环的背景下对该项目进行一些繁重的计算,该项目目前使用OpenMP实现。 流体模拟。
Windows上的虚幻引擎使用Visual Studio进行编译和构建,因此应该支持Visual Studio编译器所具有的功能,但是我不清楚您是否可以使用OpenMP的正确设置来编译UE。 或者,我可以轻松地使用Intel的线程构建模块TBB来完成这项工作,虽然显然只有UE才使用它,但是它似乎已经在UE中使用了……
总的来说,我想我的问题是对跨平台与UE高度并行化的计算有什么支持。 如果您需要在所有可用内核上运行大量相同的计算,那么如何在UE中进行呢? 我对手动创建一些线程,在块代码上运行它们,通过加入等待完成然后继续前进不感兴趣。 我非常希望使用parallel_for循环。
此外,我想知道从UE“脚本”中使用其他框架(如CUDA或OpenCL)有多么容易。
我来自Unity,在那里我用c ++编写了本机dll周围的c#包装器,以实现高性能,但是我对使用c#进行本机包装感到有些厌倦,所以我会更喜欢基于c ++的引擎...但是如果那样的话本身在我的c ++代码中可以做的事情有限,所以并没有太大的帮助...当我学习如何时,我想它可以全部工作,但是由于找不到任何关于任何信息的信息,我有点困惑以上问题。 任何带有“平行”一词的东西通常都会导致设计图。
UE中有一个ParallelFor(),定义如下:“ Engine \\ Source \\ Runtime \\ Core \\ Public \\ Async \\ ParallelFor.h”
签名为void ParallelFor(int32 Num, TFunctionRef<void(int32)> Body, bool bForceSingleThread = false)
在源代码中可以轻松找到示例用法。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.