I really have no idea where to start from and what should I do, my game has a client memory usage of 1.9GB, even streaming enabled is on.
I have no idea what I should do because all unnecessary collisions were turned off alraedy since a while ago, even unnecessary textures were removed. I am also pretty sure the game has no memory leaks because that memory usage is the starter it didn’t grow slowly which means it is not because of a memory leak, therefore the issue in my map but I have no idea where exactly. also my map has over 77k part
The mobile players in my game joins for like 2-3 minutes and leave directly without a return and it seems they are extremely lagging that is why I am trying to decrease it
Isn’t it compressed for mobile devices automatically? Personally, I have a strange way it works, that is, sometimes the game uses 2.3+ gigabytes of RAM, and sometimes 1.2 gigabytes, although the gameplay is the same and there is no difference in the picture (This is me on the PC) On phones, usually if there is not enough RAM, it compresses the textures and everything else and becomes playable (But it’s everyone’s individual already, personally I have so).
Yeah, there are a lot of them which can detail exactly where the memory is being used up. Look for any that say they are consuming hundreds of MBs of memory.
As others stated its due to parts therefore one fix is optimization scripts which basically load and unload things depending on distance and if or not they are in sight of the player.
This looks normal. I just tested a game of mine and it had over 3 GB. I would only be concerned if it lags or has lag spikes for your self (Depending what pc you have other players should have something similar to play).
Nope thats not what I mean. Optimization scripts basically loop through everything in workspace and then depending on their distance from character turn them invisible or visible which is just like loading and unloading. Example:
local Player = game.Players.LocalPlayer
local Char = Player.Character or Player.CharacterAdded:Wait()
local function Load_Unload()
for _,object in pairs(workspace:GetDescendents()) do
if object:IsA("BasePart") then
object.Transparency = Player:DistanceFromCharacter(object.Position) > 100 and 1 or 0
end
end
end
Then just place said function in a loop like say Runservice.