瀏覽代碼

Merge pull request #6292 from BitOfGold/master

Fix Ammo memory leak
David Catuhe 6 年之前
父節點
當前提交
00294e2f14
共有 1 個文件被更改,包括 9 次插入3 次删除
  1. 9 3
      src/Physics/Plugins/ammoJSPlugin.ts

+ 9 - 3
src/Physics/Plugins/ammoJSPlugin.ts

@@ -1069,7 +1069,9 @@ export class AmmoJSPlugin implements IPhysicsEnginePlugin {
         if (!v) {
             return null;
         }
-        return new Vector3(v.x(), v.y(), v.z());
+        var result = new Vector3(v.x(), v.y(), v.z());
+        Ammo.destroy(v);
+        return result;
     }
 
     /**
@@ -1087,7 +1089,9 @@ export class AmmoJSPlugin implements IPhysicsEnginePlugin {
         if (!v) {
             return null;
         }
-        return new Vector3(v.x(), v.y(), v.z());
+        var result = new Vector3(v.x(), v.y(), v.z());
+        Ammo.destroy(v);
+        return result;
     }
 
     /**
@@ -1460,7 +1464,9 @@ export class AmmoJSPlugin implements IPhysicsEnginePlugin {
             );
             this._raycastResult.calculateHitDistance();
         }
-
+        Ammo.destroy(rayCallback)
+        Ammo.destroy(this._tmpAmmoVectorRCA)
+        Ammo.destroy(this._tmpAmmoVectorRCB)
         return this._raycastResult;
     }
 }