我有興趣將線程引入我在業餘時間工作的小型引擎,但我很好奇最好的approuch是什麼。我很好奇推薦的方法是將物理線程與引擎的其餘部分同步,類似於ThisGuy。我正在使用Bullet Physics SDK,它已經使用他描述的數據複製方法,但是我想知道,一旦子彈經過一次模擬,然後將數據同步回其他線程,是不是會導致類似垂直同步,渲染線程在處理數據的過程中突然開始使用一組更新且不同的信息?遊戲引擎的線程模型
這是觀衆能夠注意到的東西嗎?如果某種形式的爆炸出現在意圖被銷燬的物體上怎麼辦?
如果這是一個問題,那麼最好的解決方法是什麼?
鎖定物理線程,使其無法做任何事情,直到渲染線程(基本上每個其他線程)已經通過其框架?這似乎會浪費一些CPU時間。或者更好的方法是三重緩衝,將物理數據複製到第二個位置,繼續物理模擬,然後在準備好之後將該數據複製到渲染線程?
你們推薦什麼方法?