acdream accumulated every CreateObject from every town visited and never pruned by distance/time (only on server DeleteObject / respawn de-dup), so the entity tables + the O(N^2) TickAnimations scan grew with each hop and sank FPS (confirmed in Release). Faithful port of holtburger liveness.rs (ACE_DESTRUCTION_TIMEOUT_SECS=25, CONSERVATIVE_VISIBILITY_DISTANCE_M=384): a world entity is evicted only after being >384m AND outside the 3x3 landblock neighborhood for 25s continuous (arm-on-leave / clear-on-return). Logic in a pure, unit-tested EntityVisibilityCuller; GameWindow wires a 1Hz tick that snapshots the world entities + player and tears each evicted guid down through the existing pruner. Player + held/equipped/contained items are excluded (player by guid; inventory items never carry a world position so they never enter the culled map). A re-created object starts fresh (deadline cleared on remove). Skipped during a teleport hold (frozen player position). AD-32 registered. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com> |
||
|---|---|---|
| .. | ||
| Plugins | ||
| Rendering | ||
| UI | ||
| World | ||
| AcDream.App.Tests.csproj | ||
| RuntimeOptionsRetailUiTests.cs | ||
| RuntimeOptionsTests.cs | ||