Browse Source

Removed redundant calls to BufferView.Content from BufferView.AreEqual.

BufferView.Content is surprisingly expensive in tight loops, so this saves a fair bit of work when comparing many BufferViews in a row.
MeltyPlayer 7 months ago
parent
commit
b708eacbcb
1 changed files with 4 additions and 3 deletions
  1. 4 3
      src/SharpGLTF.Core/Schema2/gltf.BufferView.cs

+ 4 - 3
src/SharpGLTF.Core/Schema2/gltf.BufferView.cs

@@ -158,9 +158,10 @@ namespace SharpGLTF.Schema2
 
         internal static bool AreEqual(BufferView bv, BYTES content, int byteStride, BufferMode? target)
         {
-            if (bv.Content.Array != content.Array) return false;
-            if (bv.Content.Offset != content.Offset) return false;
-            if (bv.Content.Count != content.Count) return false;
+            var bvContent = bv.Content;
+            if (bvContent.Array != content.Array) return false;
+            if (bvContent.Offset != content.Offset) return false;
+            if (bvContent.Count != content.Count) return false;
             if (bv.ByteStride != byteStride) return false;
             if (bv._target != target) return false;
             return true;