Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Agnostic scheduler #277

Merged
merged 5 commits into from
Sep 3, 2023
Merged

Agnostic scheduler #277

merged 5 commits into from
Sep 3, 2023

Conversation

dphfox
Copy link
Owner

@dphfox dphfox commented Sep 3, 2023

Continues from #55 and works towards #263 by introducing an abstraction layer for task scheduling and update steps. This allows Fusion's internals to be decoupled from Roblox's task scheduling and render stepping.

This will be most beneficial in tandem with the move to darklua, but may still be useful in the near term as it allows unit tests to synchronously override normally-async or normally-delaying operations by providing their own custom mock scheduling code.

Centralising task scheduling in unit tests (e.g. waitForGC) is explicitly out of scope of this change - unit tests should ideally run without delay, which requires us to move away from systems such as garbage collection which are inherently delayed.

@dphfox dphfox self-assigned this Sep 3, 2023
@dphfox dphfox marked this pull request as ready for review September 3, 2023 09:20
@dphfox
Copy link
Owner Author

dphfox commented Sep 3, 2023

AFAICT from the unit tests, everything is now up and running. Hard to tell though because we only really have coverage for deferred stuff and not so much for animation stuff. Seems to all check out so I'll merge and if anything breaks, it shouldn't be too hard to patch up.

@dphfox dphfox merged commit 5af9223 into main Sep 3, 2023
@dphfox dphfox deleted the agnostic-scheduler branch September 3, 2023 09:39
Heliodex added a commit to Heliodex/1filefusion that referenced this pull request Sep 6, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
Status: Done
Development

Successfully merging this pull request may close these issues.

1 participant