2017-05-15 31 views

回答

1

在我剔除了GLM之後,我發現 - 無需修改源代碼 - 這是不可能的。
複製是必需的。

兩個子彈GLM緩存由矩陣,而不是指針或引用。

對於子彈,看到一個證據:http://bulletphysics.org/Bullet/BulletFull/btMatrix3x3_8h_source.html
對於GLM,看一個例子:https://glm.g-truc.net/0.9.2/api/a00132_source.html

如果您使用memcpy可能會更快,但我不確定是否有可能。
這取決於值的排序方式。
(我有限的知識約GLM

即使你設法讓兩個對象居住在同一地址,
會有一個可怕的問題是很難進行管理。 (例如雙刪除)

但是,在您嘗試避免複製之前,您是否配置文件呢?
複製並不昂貴,真的。

幾年前,我浪費了幾個小時帶着類似的問題。
在我的情況下,我想複製子彈的矩陣到Opengl緩衝區。儘管如此,在我描述它之後,我發現在我的所有遊戲原型中都有 ,這個操作的成本不到整個邏輯的1%。

不值得努力,真的。
不成熟的優化是邪惡的根源。