Opengl ES2 devices can not launch my game
Hi! I think I have a ram issue. I would like to show you my process of handling things. Can you tell me what am I doing wrong performance wise? My game is mobile both for android and ios.
I am using a single sprite atlas which contains all of my sprites. So that I can get lower draw call and access all my sprites with SpriteAtlas.GetSprite()
I am forcing OpenGL es2 to be able to run on older devices.
I have a SpriteManager singleton class which has a reference to my single sprite atlas. So whenever I need a sprite I call SpriteManager.Instance.AtlasReference.GetSprite("spriteName")
I tried setting my atlas's compression method to DXT5. This made older devices ram usage drop to 150-200 mb's but new devices use 700 mb's. This made things worse I guess since more old devices are crashing on the splash screen. When I was using ETC2, new devices use 300 mb's.
My game is very UI dependent. I have every screens game objects ready on my scene. Every screen has a canvas component. I am showing/hiding screens via canvas.enabled. Is having a lot of UI objects on the screen from the get-go problem?
Does sprite atlas somehow register all the sprite data to ram? Also, are my sprites duplicating since I've UI images on the scene with the sprites that I have in a folder. They are included in sprite atlas but maybe due to referencing, they are also included in the build. (attached an ss)
I have a lot of people complaining on Google Play about not being able to launch the game. They are all using opengl es2 supported devices.
Can you help me, please?