-
Notifications
You must be signed in to change notification settings - Fork 11
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
Is it possible to implement System.gcPause() ? #3608
Comments
I think it would be possible to postpone this prior to the final (non-incremental) work, which is where it causes glitches .. I'm not sure what the side effects might be though! The below function is called with a "little and often" approach: The function that takes the time is when it's finished incremental marking - i.e. So, we could ensure that this final method doesn't get called whilst there's a pause in the GC. Or we could avoid any incremental work at all (i.e. setting the Would be fascinating to see what happens to memory usage with this setting! I guess if you look at Scout, you see the occasional big drops in memory usage - when GC sweeps and you see a slow-down. Those just wouldn't happen, so memory would continue to increase. I don't see any reason why it wouldn't recover after you've set the GC back to normal.... we can try it :-) There's a lot of requests around mmgc, so we may set up a new |
This will be awesome. |
Yes I think it's what may help, at least would be nice to test
In general it would be great to have something very simple and easy that will add more control control over GC so it would be possible to adjust it behaviour to concreete project.
Would be great! |
Description
I'm curious if its possible to pause garbage collection to prevent unexpecred pauses in most innapropriate times.
Starling and AIR harman teams did a lot of work to use pools everyehere, but GC still persistantly pauses runtime. It seems that garbage collectiom has its own overhead regardless how many objects need to be erased.
So I think if it would be possible to pause it and then invoke it in convinient time, it would help to reduce jumps when you need stable framerate.
The text was updated successfully, but these errors were encountered: