-
Notifications
You must be signed in to change notification settings - Fork 34
This issue was moved to a discussion.
You can continue the conversation there. Go to discussion →
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
Client-side memory leaks in 1.12 #253
Comments
Other memory leaks that recently got fixes by RLMixins that can be added to UT as well as I'm still not sure if it's compatible with MixinBooter 8:
|
Highly doubt that mixins for Scala imports would be easy, so I included them in separate forks. |
I think there may be a way to properly cleanup the maps using packets, so I'll look into it while looking into SimplyJetpacks. |
Other approaches might be possible, yes. But don‘t want to mess with Scala more than needed! |
Added fix for TARDIS and Simply Jetpacks in above PR. It would indeed require messing with a lot more files in Scala with MrTJPCore and CBMultipart and their dependents, so looks like the forks are the way to go. |
Maybe we could add this to the list as well? |
This issue was moved to a discussion.
You can continue the conversation there. Go to discussion →
EDIT: I'll update this list as I find more.
I've been doing some memory profiling on my client on a large modpack, and I figured I would list some mods in 1.12 that seem to be causing memory leaks by holding onto
WorldClient
and/orEntityPlayerSP
, noticeable when changing dimensions or reconnecting (as that creates a new client/player):journeymap.client.task.multi.RenderSpec,
I don't have much to back this up though besides what JProfiler saysVersionCheck
EDIT:
SyncHandler
maps client side - Server side, these maps are cleaned up properly here and here, but client side also updates these maps and those events are never called client-side, so the client-side maps are never cleaned up.The first 3 (bolded) were the most consistent in holding the WorldClient, and although Tardis should be easy enough to fix (by just disabling adding to the map), I have tried a few ways to fix CB Multipart and MrTJPCore, but they are in Scala, so even if a simple fix is to use a WeakHashMap, I don't know how to apply it externally.
Some screenshots from a heap dump:
The text was updated successfully, but these errors were encountered: