2017-09-21 99 views
2

我正在为一款简单的手机游戏工作。我是初学者/中级。我的比赛是一个简单的无尽跑步者,像疯狂的出租车,你跳过其他车。对于环境,我使用了低波莉免费资产包。游戏在我的笔记本电脑上完美运行,但是当我构建一个apk并检查了几个设备时,它的数量落后了很多。Unity手机游戏lag + profiler herlp

This is what the game looks like.

我用低多边形的资产,所以我认为这将不会是一个问题。我知道手机的资源要少得多,所以我怎样才能解决这个问题或在将来避免这个问题?我在应用商店看到很多顶级游戏,其中包含很多关于游戏和许多粒子效果的内容以及许多统一游戏,那么这些人怎么做呢?

尝试在分辨率:

我已经做了很多的研究,但我真的不明白。我读了一些关于移动着色器的内容。所以我认为我会将资产中的着色器更改为移动/漫射,但是当我这么做时,许多资产会丢失整个纹理/颜色并变成白色。

我尝试的第二件事是构建屏幕上的纹理压缩选项。有像DXT,ETC,ETC2,PVRTC等选项,我尝试了所有这些,但似乎没有太大的差别。

最后,我决定看看profiler。这是我第一次使用该配置文件。对于初学者来说,这些问题实际上并没有很多材料。在探查器中,我注意到最多的cpu使用是因为Camera.Render,它通常需要9ms的平均时间。剩下的事情通常会花费大量的时间,大部分时间都在0.1秒左右。我不知道9ms是什么意思,或者如果它很多。我只有一个简单的相机脚本,将相机移到播放器后面。

Profiler s/s

我试图简化环境和导致的价值下降了一点,像〜7毫秒,但我所做的场景很简单,我不想,我不想做一个优美的环境。

最后一件事,自从它成为一名无尽的跑步者以来,我有5道预制道路,我正在删除并实例化它们。我知道这不是好的做法,相反我应该只使用一个池,但这可能是滞后的原因吗?我还没有完成对象池的原因是,在开始的时候,我必须在我的游泳池中生成50个预制件,每种都有10个,这对于5个预制件来说非常理想,我希望为我的道路提供各种各样的预制件。环境看起来不重复。如果有人能帮助我,我将永远感激不尽。

/e我已经设置为非常低的设置我已经停止自动生成照明,也禁用阴影。

This is a s/s of my stats.

s/s with simple cubes...

这是开始变得越来越绝望。我没有看到有什么方法可以接近< 50个批次。上面的屏幕截图使用简单的3d立方体对象,这仍然给我一个20-30的批处理计数。一分钟我添加一些资产,使场景更漂亮,它上升,开始滞后于我的手机。

回答

2

Drawcalls and shadows。Drawcalls and shadows。我会在几个小时内为您提供更好更大的答案,因为我目前正在工作,但阅读了关于drawcalls的信息,并在编辑 - >项目设置 - >质量 - > Android中将所有内容设置为低并禁用阴影。移动设备不擅长渲染动态光线和阴影。另外 - 你应该使用游泳池系统,因为大型预制游戏可以真正减慢游戏速度并使其冻结在预制产卵阶段。在低端中端设备上(现在称为统一批)可能是一个巨大的瓶颈。在unity3d游戏窗口中按统计,看看你有多少批次。对于移动应用,最多应该在10到30之间,至少在我的经验中。

+0

谢谢我现在已经把android设置降到很低,并且也关闭了阴影。在照明我也取消选中自动生成。统计数据显示,我有超过700批次:o ...我正在拼命等待您的详细回复,并再次表示感谢。我已经用stats s/s更新了原始帖子。 –

+0

正在筹备要减少抽奖吗?或每次我启用预制它会再次打这些电话?目前我有5条道路预制件。如果我将他们集中在一起,我必须在游戏开始时至少创建5个,所以在开始时我会实例化25个,如果我只有5个预制。如果我有更多?像,10-15预制 –

+0

我怎么可能得到我的批次低?当我除去我的道路之外的所有东西,尽管这是一个对于一个普通3D对象的预制变化,但仍然有7-8个批次。当我把我的批量车停下时,跳到40-50。是的,汽车里有儿童物品等等,但它们也是来自“低”聚数包。 –

0

这些低聚资产实际上并不是很低的移动聚合,他们有许多不同的材料和许多子对象组成。另外如果你使用地形改变它的飞机。最重的是动态闪电和阴影。

+0

https://www.assetstore.unity3d.com/en/#!/content/50095 –

+0

这是我使用的资产包。它非常美丽,但是你是对的,它有许多不同的材料和儿童对象。这是什么意思?这是否意味着我无法使用这个包?孩子对象不好?我的意思是我应该找到一个资产包有说...没有儿童对象? yani,1房子1对象类型? –

+0

是的,我意识到这个资产,我在我的一个游戏中使用它。我知道一种材料是一个drawcall,所以材料越少,你的drawcalls就越少。我认为那些房子太复杂了。尝试找到一些简单的房子模型,并使用它来测试你的游戏。但首先要注意闪电设置 – Evgeniy