为什么Farseer 2.x将临时人员存储为成员而不是堆栈中?(。净)
更新:此问题涉及Farseer2.x。较新的3.x似乎没有这样做。 目前,我在广泛使用Farseer Physics Engine,并且我注意到它似乎将许多临时值类型存储为类的成员,而不是像人们期望的那样存储在堆栈中。 这是来自Body该类的示例: private Vector2 _worldPositionTemp = Vector2.Zero; private Matrix _bodyMatrixTemp = Matrix.Identity; private Matrix _rotationMatrixTemp = Matrix.Identity; private Matrix _translationMatrixTemp = Matrix.Identity; public void GetBodyMatrix(out Matrix bodyMatrix) { Matrix.CreateTranslation(position.X, position.Y, 0, out _translationMatrixTemp); Matrix.CreateRotationZ(rotation, out _rotationMatrixTemp); Matrix.Multiply(ref _rotationMatrixTemp, ref _translationMatrixTemp, out bodyMatrix); } public Vector2 GetWorldPosition(Vector2 localPosition) …