Skip to content

AtlasEngine: Fix custom shader time imprecision#17104

Merged
DHowett merged 1 commit intomainfrom
dev/lhecker/atlas-engine-floats
Apr 23, 2024
Merged

AtlasEngine: Fix custom shader time imprecision#17104
DHowett merged 1 commit intomainfrom
dev/lhecker/atlas-engine-floats

Conversation

@lhecker
Copy link
Member

@lhecker lhecker commented Apr 22, 2024

Since floats are imprecise we need to constrain the time value into a
range that can be accurately represented. Assuming a monitor refresh
rate of 1000 Hz, we can still easily represent 1000 seconds accurately
(roughly 16 minutes). So to solve this, we'll simply treat the shader
time modulo 1000s. This may lead to some unexpected jank every 16min
but it keeps any ongoing animation smooth otherwise.

@lhecker lhecker added Issue-Bug It either shouldn't be doing this or needs an investigation. Product-Terminal The new Windows Terminal. Priority-3 A description (P3) Area-AtlasEngine labels Apr 22, 2024
@DHowett DHowett enabled auto-merge April 23, 2024 16:18
Copy link
Member

@DHowett DHowett left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

clever

@DHowett DHowett added this pull request to the merge queue Apr 23, 2024
Merged via the queue into main with commit daffb2d Apr 23, 2024
@DHowett DHowett deleted the dev/lhecker/atlas-engine-floats branch April 23, 2024 17:05
DHowett pushed a commit that referenced this pull request Apr 23, 2024
Since floats are imprecise we need to constrain the time value into a
range that can be accurately represented. Assuming a monitor refresh
rate of 1000 Hz, we can still easily represent 1000 seconds accurately
(roughly 16 minutes). So to solve this, we'll simply treat the shader
time modulo 1000s. This may lead to some unexpected jank every 16min
but it keeps any ongoing animation smooth otherwise.

(cherry picked from commit daffb2d)
Service-Card-Id: 92409332
Service-Version: 1.20
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Area-AtlasEngine Issue-Bug It either shouldn't be doing this or needs an investigation. Priority-3 A description (P3) Product-Terminal The new Windows Terminal.

Projects

No open projects

Development

Successfully merging this pull request may close these issues.

3 participants