Fix 2D rendering being choppy#6415
Merged
Big-Iron-Cheems merged 1 commit intoMay 20, 2026
Merged
Conversation
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.
Type of change
Description
From what I can tell, deltaTracker.getGameTimeDeltaTicks() returns an approximation of how long a frame lasted in terms of 1 tick, while getGameTimeDeltaPartialTick() returns how far into the current tick we are, which is what we used until 26.1. So for example, if the game were running at 60 fps and 20 tps, the outputs for each during 1 tick would be:
deltaTicks
Frame 1: 0.33
Frame 2: 0.33
Frame 3: 0.33
deltaPartialTick
Frame 1: 0.33
Frame 2: 0.66
Frame 3: 0.99
For ingame 2D rendering we need partialTick to interpolate positions based on progress in the current tick, while deltaTicks serves as a reference for how fast animations and rendering should advance frame to frame, previously we've only been passing one or the other to both (currently passing partialTick, which causes the delta to always be identical, this interpolating nametags to the same position every frame)
Fix is to provide the different deltas to the systems that need them
Related issues
N/A
How Has This Been Tested?
Before:
before.mp4
After:
after.mp4
Checklist: