我正为我的游戏制作地图。我通过使用许多树,石头设计了地图森林..图像(将图像插入到统一场景中并进行排列)。我的游戏在Android上运行良好,但无法在iOS(ip4s)上运行。它遇到了记忆问题。我想问问每个人: 如果我在photoshop中设计森林而不是统一,那么这比我目前的方式更好吗?
全部谢谢
答案 0 :(得分:1)
这取决于你想要做什么。
但无论如何,有一种解决内存使用相关问题的常用方法。启动Profiler!
http://docs.unity3d.com/Manual/Profiler.html
在那里,你可以看到正在吃什么的珍贵记忆。因此,您可以尝试决定是将它们组合在一个图像中还是将它们保存为单独的图像。也许您还会看到内存问题可能与您使用的其他资产有关。
答案 1 :(得分:1)
您需要查看XCode中的Instruments。您也可以使用Unity附带的Profiler。另一种节省内存的方法是减少屏幕上的图形压力。你需要看到你的绘制调用和顶点,以及统计数据下的tris。将抽奖电话保持在50-60以下。并保持垂直和三分。看看OpenGL上的图形基准测试,iPhone 4S是一款较旧的设备,根据你的android可能会慢得多。我认为iPhone 4S有512MB的RAM。这应该足以处理相当大的内存负载。查看您的OnGUI()对象和调用。您希望尽可能地减轻这些。也尝试使用剔除你的优势!此外,如果您使用雾或相机过滤器,他们也会承担相当大的负担。如果可以的话,也要远离文字类型。
还使用Vertex Lit渲染路径与前向渲染路径。也可以使用自动最佳性能进行分辨率。这将使一切以0.75分辨率而不是全视网膜960x640或4S的任何值。您也可以在Xcode中调整分辨率,具体取决于您可以设置的控件大小0.6
在XCode项目中的DeviceSettings.mm下:
case deviceiPhone4S: resMult = 0.6f; break;
或在MonoDevelop UnityScript中(取决于方向):
Screen.SetResolution (Screen.width * 0.6f, Screen.height * 0.6f, true);