Optimize ClientLevelWrapper.GetWrapper()

Should speed up initial LOD loading a bit
This commit is contained in:
James Seibel
2025-06-17 07:15:15 -05:00
parent cd73608b07
commit 0ea27b676e
@@ -110,14 +110,26 @@ public class ClientLevelWrapper implements IClientLevelWrapper
}
}
return LEVEL_WRAPPER_REF_BY_CLIENT_LEVEL.compute(level, (newLevel, levelRef) ->
WeakReference<ClientLevelWrapper> levelRef = LEVEL_WRAPPER_REF_BY_CLIENT_LEVEL.get(level);
if (levelRef != null)
{
if (levelRef != null)
ClientLevelWrapper levelWrapper = levelRef.get();
if (levelWrapper != null)
{
ClientLevelWrapper oldLevelWrapper = levelRef.get();
return levelWrapper;
}
}
return LEVEL_WRAPPER_REF_BY_CLIENT_LEVEL.compute(level, (newLevel, newLevelRef) ->
{
if (newLevelRef != null)
{
ClientLevelWrapper oldLevelWrapper = newLevelRef.get();
if (oldLevelWrapper != null)
{
return levelRef;
return newLevelRef;
}
}