From a413b9aa79835de02a965bd9abbab5c38bf54ba5 Mon Sep 17 00:00:00 2001 From: austin Date: Sun, 25 May 2025 19:11:08 -0400 Subject: [PATCH] small improvements --- docs/src/progress/renderertodo.md | 2 + .../collision/CollisionEngine.java | 10 ++- .../collision/PhysicsEntityUtils.java | 5 ++ .../entity/state/lod/ClientLODComponent.java | 14 ++++ .../types/common/CommonEntityUtils.java | 2 - .../diskmap/ServerBlockChunkDiskMap.java | 64 +++++++++---------- 6 files changed, 59 insertions(+), 38 deletions(-) diff --git a/docs/src/progress/renderertodo.md b/docs/src/progress/renderertodo.md index 8f13ef2a..3d34228f 100644 --- a/docs/src/progress/renderertodo.md +++ b/docs/src/progress/renderertodo.md @@ -1992,6 +1992,8 @@ Performance improvements - Undo most object pooling - ServerBlockChunkDiskMap uses short pool - Client leverages block chunk short pool + - Client doesn't load physics on entities by default + - Block chunk disk map writes files without allocating a buffer Increase human move speed LOD components re-attach physics VectorPool->JomlPool diff --git a/src/main/java/electrosphere/collision/CollisionEngine.java b/src/main/java/electrosphere/collision/CollisionEngine.java index bff0132a..4066bdf5 100644 --- a/src/main/java/electrosphere/collision/CollisionEngine.java +++ b/src/main/java/electrosphere/collision/CollisionEngine.java @@ -187,6 +187,12 @@ public class CollisionEngine { * Number of geometries */ private int geomCount = 0; + + + /** + * buffer for storing potential collisions + */ + private DContactBuffer contacts = new DContactBuffer(MAX_CONTACTS); /** * Constructor @@ -432,8 +438,8 @@ public class CollisionEngine { Globals.profiler.beginAggregateCpuSample("CollisionEngine.nearCallback - Full collision phase"); try { - //creates a buffer to store potential collisions - DContactBuffer contacts = new DContactBuffer(MAX_CONTACTS); // up to MAX_CONTACTS contacts per box-box + //null out the contact buffer + contacts.nullify(); SurfaceParams surfaceParams = c1.getSurfaceParams(); for (int i=0; i