feat: add breakpoint-tolerant clock system and refactor GrimPlayer time handling - #2377
Open
Axionize wants to merge 1 commit into
Open
feat: add breakpoint-tolerant clock system and refactor GrimPlayer time handling#2377Axionize wants to merge 1 commit into
Axionize wants to merge 1 commit into
Conversation
…me handling This commit Implement zero-cost breakpoint-tolerant time tracking. It introduces a new time architecture for GrimPlayer that allows developers to pause execution at breakpoints without triggering Timer, FastBreak, or Velocity violations upon resumption. Changes: - Refactored `GrimPlayer` to use `nano()`/`now()` overrides instead of direct System calls. - Added `DebugGrimPlayer` subclass which uses `ThreadLocal` to track intra-packet execution time. - Logic automatically absorbs execution pauses >200ms (breakpoints) while correctly preserving inter-packet delays (server lag/AFK). - Added `processingPacket()` hooks to the Packet Dispatcher and Tick Manager to manage thread-local timers. - Performance impact is 0 in production due to JIT monomorphic inlining and dead code elimination of the base class methods.
Contributor
Author
|
@ManInMyVan @AoElite @SamB440 can I get a review? |
ManInMyVan
self-requested a review
November 28, 2025 01:40
Contributor
Author
|
@ManInMyVan when are you going to have time to take a look? |
Contributor
no clue |
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.
This commit Implement zero-cost breakpoint-tolerant time tracking.
It introduces a new time architecture for GrimPlayer that allows developers to pause execution at breakpoints without triggering Timer, FastBreak, or Velocity violations upon resumption.
Changes:
GrimPlayerto usenano()/now()overrides instead of direct System calls.DebugGrimPlayersubclass which usesThreadLocalto track intra-packet execution time.processingPacket()hooks to the Packet Dispatcher and Tick Manager to manage thread-local timers.