Optimize display hot paths with opt-in rollout controls#3
Draft
Arbousier1 wants to merge 56 commits into
Draft
Conversation
Member
Phase 2 validation updateImplemented and pushed the three experimental paths, all default-off:
CIClient compatibility smoke tests
Preliminary block-update comparison30-second steady samples:
This is 97.3% fewer block checks and 84.3–93.6% lower measured plugin block-update time. B1 also reduced mean MSPT from 4.115 to 2.921 ms versus A1, but B2 had to run with a 1 GiB heap after host native-memory pressure, so whole-tick MSPT is not treated as a valid paired conclusion. Remaining merge gates
Keeping the PR draft until those separate capture/compatibility gates are complete. |
Author
|
Phase 2 validation update (head 6c37b29) GitHub-only verification:
Packet evidence tooling:
Still pending before ready/merge:
The PR remains draft. No local Java build and no production-server deployment/restart were performed. |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
This PR optimizes high-volume display work while keeping behavior-changing Phase 2 paths explicitly opt-in.
docs/phase2-evidence-b93d990.mdRollout safety
The behavior-changing paths are disabled in the bundled configuration:
Settings.Performance.VirtualItems.StaticAnchorDuringAnimationfalseSettings.Performance.VirtualItems.PacketOnlyStaticfalseSettings.Performance.VisibilityRateLimit.EnabledfalseSettings.Performance.BlockUpdates.EventDrivenfalseEntities.Item.Options.VisibilityCulling.EnabledfalseEntities.Item.Options.VisibilityRateLimit.EnabledfalseCommit
e25627eadds the two explicit dropped-label gates. With both disabled, dropped labels retain the legacy server-side label lifecycle, immediate eligible-player show/hide behavior, andviewRange=1.0. Hot reload clears pending per-player state when returning to that path.IV_PERFnow records the effective dropped-label culling/limiter configuration.These defaults make the implementations reviewable without claiming that the experimental paths are approved for production rollout.
Validation
Current HEAD
e25627eAll PR checks pass:
Local CI-equivalent validation also passed:
clean check shadowJar benchmarkJar, Paper 26.1/26.2 compilation, 102 tests with zero failures, all six PowerShell analyzer self-tests, Git Bash syntax checks, Node syntax checks, and 19/19 evidence-manifest hashes.Measured ancestor
b93d990legacy-text-component-cache / block-activefactor: mean MSPT5.0411 -> 3.8049 ms(23.85% lower)7168 -> 2048and Bukkit entity spawns1024 -> 0; this remains smoke evidence, not a 12-run packet conclusiontrue-false-truelocal client experiment observed Present FPS1098.02 -> 1310.50(+19.42%, paired 95% CI +15.55% to +23.30%), display FPS234.43 -> 239.20, and 1% low117.94 -> 177.53See the evidence snapshot and frame-file hash manifest. The raw local frame CSVs are not committed, so the client result is not presented as self-contained formal evidence.
Remaining gates
Before merging:
Before enabling any experimental path in production:
docs/phase2-performance-validation.mdThe PR remains Draft. No production deployment, restart, or merge was performed.