Joe*_*oon 6 c++ parallel-processing multithreading unreal-engine4
我目前正在研究虚幻引擎在计算密集型项目中的可用性,谷歌并没有非常有用.
我需要在游戏循环的背景下为项目做一些繁重的计算,目前使用OpenMP实现.流体模拟.
Windows上的虚幻引擎使用visual studio进行编译和构建,并且应该支持visual studio编译器具有的功能,但是如果您可以使用适当的OpenMP设置进行UE编译,则我不清楚.或者,我可以轻松地使用Intels线程构建块TBB,这显然已经在UE中使用了......虽然可能只有内存分配器部分?
总的来说,我想我的问题是对UE的跨平台重度并行计算的支持.如果您需要在所有可用内核上运行大量相同的计算,那么如何在UE中执行此操作?我不想手动创建一些线程,在块代码上运行它们,等待加入完成然后再继续.为了我的目的,我更喜欢parallel_for循环.
此外,我想知道在UE"脚本"中使用其他框架(如CUDA或OpenCL)是多么容易.
我来自Unity,我用c ++编写c ++包装器,用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)
可以在源代码中轻松找到示例使用。
| 归档时间: |
|
| 查看次数: |
1753 次 |
| 最近记录: |