skip to Main Content

I’m making maps for my game. I designed forest for map by using many tree, stone.. Images (insert image into unity scene and arrange it). My game runs well on Android but can not run on iOS (ip4s). It met memory problem. I want to ask everyone:
If i design the forest in photoshop instead of unity, is that way better than my current way?

Thanks all

2

Answers


  1. It depends on what you are trying to do.

    But anyway, there is a common way to solve memory usage related problems. Fire up the Profiler!

    http://docs.unity3d.com/Manual/Profiler.html

    There you can see what is eating your precious memory. So you can try and decide if it’s best to make them combined in one image or keep them as separate images. Maybe you would also see the memory problem could be related to other assets you use.

    Login or Signup to reply.
  2. You need to look at Instruments in XCode. Also you can use the Profiler that comes with Unity. Another way you can save memory is by reducing the graphics strain on the screen. You need to see your draw calls and verts, and tris under stats. Keep draw calls under 50-60. And keep verts and tris down. Look at the graphics benchmarks for Graphics on OpenGL, iPhone 4S is an older device and depending on your android may be substantially slower. iPhone 4S has 512MB of RAM I think. This should be enough to handle a pretty big memory load. Check out your OnGUI() objects and calls. You want to mitigate those as much as possible. Also try and use culling to your advantage! Also if you are using Fog or camera filters they take a substantial load as well too. Stay away from Literal Types, too if you can.

    Also use Vertex Lit for rendering path vs forward rendering path. Use auto best performance for resolution, too. This will make everything go at 0.75 resolution instead of full retina 960×640 or whatever it is for 4S. You can also in Xcode tweak the resolution, depending on the size of your controls you could make it 0.6

    under DeviceSettings.mm in your XCode Project:

    case deviceiPhone4S:    resMult = 0.6f; break;
    

    or in your MonoDevelop UnityScript (depending on orientation):

    Screen.SetResolution (Screen.width * 0.6f, Screen.height * 0.6f, true);
    
    Login or Signup to reply.
Please signup or login to give your own answer.
Back To Top
Search