Repository navigation
Conversation
A tester left Mobius idle for ~30 minutes, then loaded a geometry file and it "crawled". DecideAndExecuteSpawnStrategy chooses batched flow-counter spawning when FPS is at or below 40 (or the average is under 30, or memory is low), and the batched tick then skipped every frame longer than 25 ms, i.e. under 40 FPS. On a slow or thermally throttled machine the door queue never drained and the loading card stayed up, while one log line was written per skipped frame. Reproduced on ISO-Test-8-FireSmoke.udatasmith at t.MaxFPS 30: 0 of 15 doors in 84 s and 2,498 skip lines. - Flow counters: pace batches by wall-clock time only. Each SpawnInterval batch spawns at least one door and stops early after BatchTimeBudgetMs (4 ms), so the queue drains at any frame rate. Same test: 15 of 15 in 3.8 s. - Low-FPS watchdog: judge on the smoothed FPS rather than one frame, fire once per low-FPS spell instead of re-arming every 10 s, and ignore minimised frames (in the check and in the average). - Minimised windows (packaged / -game only): cap at Mobius.Perf.MinimisedMaxFPS (default 5, 0 = off) and restore the previous t.MaxFPS on restore. The editor and PIE are never capped; full rate while merely unfocused is kept. Verified in -game: t.MaxFPS 5 while minimised, 120 after restore, no watchdog noise on restore. An idle run with no data showed no growth between 1 and 6 minutes (MaterialInstanceDynamic 180 -> 96, TextureRenderTarget2D 2 -> 2, UserWidget 135 -> 135). Editor target builds clean. AI-assisted with Claude Code; all changes reviewed, tested, and verified by a human maintainer in line with this repository's AI-tooling policy.
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.
Promotes one commit from
devtomain:a4cb44d9.Problem
A tester left Mobius idle for about 30 minutes, then loaded a geometry file, and the load crawled.
ISO-Test-8-FireSmoke.udatasmithatt.MaxFPS 30: 0 of 15 doors spawned in 84 s, with 2,498 "skipped spawning" log lines.Changes
BatchTimeBudgetMs). Same test: 15 of 15 in 3.8 s.-gameonly):Mobius.Perf.MinimisedMaxFPS(default 5, 0 = off) caps the frame rate while the window is minimised and restores the previoust.MaxFPSafterwards. The editor and PIE are never capped; an unfocused window still runs at full rate.Testing
-game:t.MaxFPSreads 5 while minimised and 120 after restore, with no watchdog noise on restore.Not covered: the watchdog does not pause during loads, because
ULoadingSubsystemkeeps no loading state.AI-assisted with Claude Code; all changes reviewed, tested, and verified by a human maintainer in line with this repository's AI-tooling policy.
🤖 Generated with Claude Code