android - Unity Android 莫名其妙的性能差异
问题描述
场景:我有一个简单的场景,大约 15k tris(取决于你看的地方),使用 Legacy Difuse 着色器。我在Galaxy S5 Android 6.0.1上运行游戏。来自 GSM 竞技场:
- 2014 年 4 月发布
- 芯片组 Qualcomm MSM8974AC Snapdragon 801 (28 nm)
- CPU 四核 2.5 GHz Krait 400
- GPU 肾上腺皮质激素 330
我在Lenovo P2 Android 7.0上运行游戏。GSM竞技场:
- 2016 年 11 月发布
- 芯片组 Qualcomm MSM8953 Snapdragon 625 (14 nm)
- CPU 八核 2.0 GHz Cortex-A53
- GPU 肾上腺皮质激素 506
到目前为止我已经尝试过:
- 用移动漫反射替换传统漫反射着色器 -> 两款手机均获得 10 fps,相同的性能差距
- 禁用自动图形 API 并强制 GLES2 - 没有区别
- 强制 GLES3 - 没有区别
- 尝试使用 Snapdragon 分析器进行快照捕获,但是当我尝试拍摄快照时它一直崩溃
- 在两台设备上强制使用相同的分辨率(1080),没有变化(我认为 Unity 可能会在 S5 上做一些魔术和缩小),还要注意两部手机都是 1080p
统一2018.3.0f2
相同的游戏,相同的图形配置文件(首选项),相同的一切。这怎么可能?
这只是游戏的精简主菜单。游戏的主要场景(一个平均有 80k tris 和许多标准着色器的城市,在 GS5 上以超过 40 FPS 的速度运行,在 P2 上以 28-30 帧运行:/。我还在 Xperia XA2 上尝试了城市场景(略比 P2 更好的规格),它的运行速度约为 56-60 fps)
PS:请注意在屏幕截图中,由于查看不同的区域,S5 在屏幕上渲染了更多的东西,但仍然比 P2 拥有更多的 FPS
//使用下面评论中缺少的信息编辑更新的线程
解决方案
推荐阅读
- mysql - 如何让 MySQL 的“加载数据”正确地将非常大的整数导入二进制(16)字段?
- sql - SQL - 根据邮政编码周围的英里数查找位置
- python - KeyError为对象检测生成tf记录?
- python - 阻止请求 URL selenium firefox python
- reactjs - 反应 snap 和 skipThirdPartyRequests
- java - 休眠一对一映射对象引用未保存的瞬态实例时出错 - 在刷新之前保存瞬态实例:
- docker - 在 Docker 中调用 Mirth Connect CLI
- c - 该函数必须计算输入了多少块
- windows - Apache Tomcat Windows 标准输出/标准错误配置
- mysql - 如何在sql中计算两个不同的列