gpt4 book ai didi

c++ - 虚幻引擎4并行计算

转载 作者:塔克拉玛干 更新时间:2023-11-02 23:36:58 24 4
gpt4 key购买 nike

我目前正在研究虚幻引擎在计算密集型项目中的可用性,谷歌并没有提供太大帮助。

我需要在游戏循环的后台为当前使用 OpenMP 实现的项目做一些繁重的计算。流体模拟。

Windows 上的虚幻引擎使用 visual studio 进行编译和构建,因此应该支持 visual studio 编译器所具有的功能,但我不清楚您是否可以使用 OpenMP 的正确设置进行 UE 编译。或者,我可以轻松地使用英特尔的线程构建 block TBB 来完成这项工作,这显然已经在 UE 中使用了……尽管可能只是内存分配器部分?

总的来说,我想我的问题是对使用 UE 的跨平台高度并行计算有什么支持。如果您需要在所有可用内核上运行大量相同的计算,您如何在 UE 中执行此操作?我对手动创建一些线程、在 block 代码上运行它们、通过加入等待完成然后继续前进不感兴趣。对于我的目的,我更喜欢 parallel_for 循环。

此外,我想知道从 UE“脚本”中使用其他框架(如 CUDA 或 OpenCL)有多容易。

我来自 Unity,在那里我围绕原生 dll 制作了 c# 包装器,用 c++ 编写,以实现高性能,但我对这种在 c# 中的原生包装感到有点厌倦,所以我更喜欢基于 c++ 的引擎......但是如果这本身就限制了我在我的 C++ 代码中可以做的事情,那么它就没有多大帮助了......我认为它可以全部工作,当我学习如何做时,但是我因为无法找到而感到有点困惑 < em>any 有关上述任何问题的信息。任何带有“平行”一词的内容通常都会指向蓝图。

最佳答案

UE中有一个ParallelFor(),定义在这里:"Engine\Source\Runtime\Core\Public\Async\ParallelFor.h"

签名是void ParallelFor(int32 Num, TFunctionRef<void(int32)> Body, bool bForceSingleThread = false)

可以在源代码中轻松找到示例用法。

关于c++ - 虚幻引擎4并行计算,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38554767/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com