fix(build): the time left waits for this PC's pace, and scales the CPU's stages and the disk's apart #107
No reviewers
Labels
No labels
area/build
area/install
area/saves
area/ui
area/updates
ci: approved
good first issue
gpu/amd
gpu/intel
gpu/nvidia
help wanted
kind
bug
kind
chore
kind
docs
kind
feature
kind
performance
kind
question
platform/linux
platform/steam-deck
platform/windows
priority
critical
priority
high
priority
low
status
blocked
status
confirmed
status
duplicate
status
invalid
status
needs-info
status
wontfix
ci: approved
No milestone
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set
Reference
MagicBeanDev/LongshotLauncher!107
Loading…
Reference in a new issue
No description provided.
Delete branch "HumanBean/LongshotLauncher:fix/time-left-warmup"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Some players still see a time left that's far off. It's said from the first second, from one PC's build times scaled only by thread count, and a single pace is applied to every stage, so a slow disk makes the compile look slow (and a slow CPU the read).
What changed
Core/MakeGameRun.cs,BuildClock:@@etafor the compile, or a running stage's rate. With none of those (a build where every stage keeps earlier work), it says the forecast after 2 minutes. Once a number is shown it isn't taken back.BuildForecast.Parallel) go at the CPU's pace, the read and the finish at the disk's. Each is measured from that kind's finished stages, plus the running stage's own rate weighted by how far it has got, so the pace improves during a stage, not only after it. A kind with nothing measured keeps the thread-scaled forecast rather than borrowing the other kind's pace. The clamp is 0.2–5 (was 0.25–4).@@eta, a running stage's countdown from its own progress, and the forecast's reference times and thread scaling.tests/launcher_core/ScreenChecks.cs:ClockChecksis rewritten for these: no time at the start or during the first seconds, the disk's pace not touching the CPU's stages, a running stage counting toward its kind's pace, a compile's share of changed files, the 2-minute fallback, and the time not being taken back once shown.Testing
Linux (CachyOS), .NET SDK 10.0.404, on main @
5ee7c174.python -I tests/test_launcher_core.py: 1213 checks passed.python -I tests/test_release.py: OK.dotnet build App/LongshotLauncher.csproj: 0 warnings, 0 errors.Not tested: no real build was run here (no game dump on this PC), so the thresholds (20 s, 30 forecast seconds, 2 minutes) are judgement, not measured. A log of a build where the time was wrong would help tune them. No screenshot: the screen is unchanged apart from saying "Working out the time left" for longer, an existing text.
🤖 Generated with Claude Code