From 2f58d38a1f1a1aa899f01aafda4697393f0bcb01 Mon Sep 17 00:00:00 2001 From: austin Date: Sun, 25 May 2025 09:42:47 -0400 Subject: [PATCH] foliage cell performance improvement --- docs/src/progress/renderertodo.md | 2 ++ .../client/terrain/foliage/FoliageCellManager.java | 3 +++ 2 files changed, 5 insertions(+) diff --git a/docs/src/progress/renderertodo.md b/docs/src/progress/renderertodo.md index 73cb9acc..36a1f2ea 100644 --- a/docs/src/progress/renderertodo.md +++ b/docs/src/progress/renderertodo.md @@ -1982,6 +1982,8 @@ Upgrade target framerate (05/25/2025) Flag to enable/disable opengl error checking calls +Performance improvements + - Foliage cell quits earlier diff --git a/src/main/java/electrosphere/client/terrain/foliage/FoliageCellManager.java b/src/main/java/electrosphere/client/terrain/foliage/FoliageCellManager.java index 2334e08f..19e8c305 100644 --- a/src/main/java/electrosphere/client/terrain/foliage/FoliageCellManager.java +++ b/src/main/java/electrosphere/client/terrain/foliage/FoliageCellManager.java @@ -341,6 +341,9 @@ public class FoliageCellManager { boolean fullyGenerated = true; for(int i = 0; i < 8; i++){ WorldOctTreeNode child = children.get(i); + if(this.getMinDistance(absVoxelPos, child, distCache) > SIXTEENTH_RES_DIST){ + continue; + } boolean childUpdate = this.recursivelyUpdateCells(child, absVoxelPos, evaluationMap, minLeafLod, distCache); if(childUpdate == true){ updated = true;