|
|
1
2
最简单和可能最常用的变体是运行physic、render、ai……线程并行,并在每个线程完成一个帧/时间步后同步它们。 这不是最快的解决方案,而是问题最少的解决方案。 在运行时将数据写回渲染线程会导致大量同步问题(例如,在更新时必须锁定每个向量/矩阵)。 为了使并行化有效,您必须最小化要同步的数据量,例如,只将可能被渲染的数据写入渲染线程。 如果在每帧之后不同步,您可能会得到这样的效果:物理/AI使用所有产生60fps的CPU功率,而渲染器只渲染10fps,在大多数情况下,这不是您想要的。 双缓冲也会提高性能,但您仍然需要同步线程。问题是ai和physical或类似线程,因为它们可能需要修改相同的数据。 |
|
|
user107586 · 如何处理等待句柄不会导致无限循环? 1 年前 |
|
|
ron burgundy · 获取-释放语义是否跨线程传递?[副本] 1 年前 |
|
|
BenjiFB · C#内存缓存:在一次操作中追加到列表? 1 年前 |
|
|
András Takács · Python多线程问题 2 年前 |
|
|
András Takács · Python多线程错误 2 年前 |