【发布时间】:2010-02-26 07:16:39
【问题描述】:
当我尝试将游戏引擎的动画更新功能和物理模拟放入单独的线程中执行时,我意识到编写线程之间的一些浮点值(例如对象的位置)的潜在竞争条件(如果两个线程要同时访问这些值,则动画、物理)和读取器线程(渲染器)。
我的问题是,即使浮点赋值也不是原子的,这样的读写竞争条件是否会导致读者看到的原始平滑变化值的有线/突然变化?
此外,在我的情况下,我可以容忍少量的错误,因为这样的错误不会在下一个渲染帧中累积。
【问题讨论】:
-
我建议您指定您的平台和语言,因为我们无法在不知道这些的情况下对浮点表示做出任何保证。
标签: multithreading game-engine