@开发团队 新建一个平面在安卓上fps很低,但用多个小模型替代就很高

安卓相对低端的手机,只要模型比较大,fps就会降的很厉害,但放很多个铺满却没问题,是什么情况呀

可能是填充率问题,低端Android GPU 可能在处理屏幕外像素的渲染上不够智能

一样都是在屏幕内,一个3倍缩放的plane就会降到10多帧

有没有解决方案,用很多去平铺的话,摄像机移动会导致有缝隙,不停的闪动

你的案例还需要更清晰一点说明一下,或者上传 demo,否则不好判断

简单说就是地面的实现,如果使用较大的面,帧率就非常低,如果使用1X1的格子拼起来,摄像机跟随人物移动时就会出现黑边,闪烁的情况

整个地图多大?

我新建一个工程,就放一个2*2的平面,帧率就只有10几了,但是用小模型去拼,就是60帧

测试手机,oppo a59s

那还是填充率问题,模型中 mesh 以米为单位,默认 plane 是 10*10 的方块,所以你这个地块是 20 * 20 m,在游戏中还是相对比较大的。而一个 plane 的渲染是两个三角形组成的,不可拆分,所以基本上即便不在摄像机范围内的像素也无法被剪裁掉。这对于低端手机就是一个非常大的消耗,因为要填充很大量的像素,低端手机 GPU 的带宽太小了。而当使用拆分的地块时,摄像机外的地块就可以很好得被剪裁掉,帧率自然就上去了。

至于接缝的问题,可以将地块所用贴图改为 NEAREST 采样和 CLAMP_TO_EDGE 的设置试试能不能消除掉

1赞

好的,谢谢,我尝试一下

低端机 地面材质改为 unlit 直接从10fps稳定在30fps了,标准材质基于物理还是性能太耗了.

:+1: 大量的像素需要计算

@panda
我们项目也是这个问题。我们的地形大概是个方块。四周有墙体(为了美观,墙体四周是一个mesh)。大概400米长宽。人物1米。低端机也是帧率低的可怕。这个有啥好的解决办法么。
(让美术拆成小块不现实对不对)

还有地面,是个片,调整了uv。

我们这个不是物理游戏,而且材质用的toon。如果改为unlit确实可以达到50-60fps。但是还需美术重新制作。
所以有什么底层可以优化的手段么?

简化 Toon 材质,去掉光影的一些计算

好的。我们做个demo场景去试试把。我们有两种尝试办法: