multithreading - 在传统的单线程游戏引擎(如带有OpenMP的ioquake3)上可以实现什么样的优化?

标签 multithreading openmp game-engine

您能想到在ID Tech 3等传统引擎上实现重大改进的方法吗?通过尝试在音频子系统上进行操作,我注意到它造成的是减速而不是加速。我怀疑这将需要大数据块来循环计算,并且很少与内核进行通信。

最佳答案

我对ioquake3或id tech 3一无所知,但对OpenMP却知之甚少,所以我将把这个问题直接发给您。

最初,OpenMP的开发目的是在访问共享内存的处理器之间的大型阵列上分布循环迭代。这是科学和工程程序中很大一部分的要求,因此,OpenMP被大量用于此类程序也就不足为奇了。

最近,借助OpenMP 3.0,它具有用于导演/ worker 任务分解的良好功能,从而扩展了其应用范围。我对这些新功能没有太多经验,但是它们看起来很有前途。

因此,给您的问题是:您的计算核心与OpenMP支持的计算模型之间的匹配度如何?

关于multithreading - 在传统的单线程游戏引擎(如带有OpenMP的ioquake3)上可以实现什么样的优化?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4237209/

相关文章:

java - 扩展 Thread 类时无法同步两个线程,但在实现 Runnable 接口(interface)时可以工作

c++ - 将 openMP 与 openMPI 混合时的奇怪行为

python - pygame中的异步图像加载

python - Ursina Python 引擎 : Lighting, 阴影和光晕效果

Java线程安全锁

multithreading - kthread_work 和 kthread_worker 功能

c++ - OpenMP 并行循环比常规循环慢得多

javascript - 将 requirejs 用于模块化游戏引擎

multithreading - 在python3中的多进程之间共享python对象

c - 使用 openMP 并行化嵌套 for 循环