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

Replacement: Do all I/O on threaded tasks #17091

Merged
merged 7 commits into from
Mar 11, 2023
Merged

Conversation

hrydgard
Copy link
Owner

@hrydgard hrydgard commented Mar 10, 2023

This should reduce I/O stutter during texture replacement considerably (especially on slow I/O like on Android 11+), no more I/O is done on the main thread by the replacer anymore except at startup.

We still open each file twice, I'll try to merge the Populate/Prepare steps later to avoid it. Never mind, went ahead and merged them, now we only open each file once. We still first detect size, then pad the size if needed, rewind and read again.

I believe decimation of the "level cache" can still race against texture loading in some interesting ways. Need to look into that later.

@hrydgard hrydgard added this to the v1.15.0 milestone Mar 10, 2023
@hrydgard hrydgard merged commit a651fd8 into master Mar 11, 2023
@hrydgard hrydgard deleted the fully-threaded-replacement branch March 11, 2023 07:34
@ghost
Copy link

ghost commented Mar 11, 2023

What happens to the recently build
Screenshot_20230311_192514
Screenshot_20230311_181432

@hrydgard
Copy link
Owner Author

I have no idea, can't be related to this issue, i wouldn't think ...

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant