前两天翻抽屉找备用机,突然看见个老古董荣耀V10,想着能不能跑点简单的3D效果。结果一查OpenGL ES 3.0支持给我整懵了,网上说法乱七八糟的。干脆自己翻资料+真机实测,记录下踩坑过程。
第一步:先搞明白OpenGL ES 3.0是啥时候冒出来的
打开电脑一顿乱搜,发现这玩意儿2012年就发标准了。掰指头算算:2014年之后的安卓机,理论上都能跑!但“理论上”三个字坑死人,得看厂家脸色和芯片祖宗。
第二步:把手头的破烂全翻出来测
我把自己跟朋友的老手机都薅来了,装了个GLES Info挨个查。结果发现些门道:
- 华为/荣耀的老麒麟:麒麟950(Mate8那代)开始,清一色支持3.0。但更老的麒麟920(荣耀6)只有OpenGL ES 2.0!网上居然还有人吹这芯片支持3.0,实测打脸。
- 小米老高通:骁龙800(小米3)就支持了,但红米Note3(骁龙650)也支持。反而前两年某些百元机用的联发科MT6735,只给到2.0!差点被参数表骗了。
- 三星老旗舰:Galaxy S4(2013年!)的骁龙600就能跑3.0,韩版Exynos 5居然也行。三星这点倒是实诚。
第三步:遇到个奇葩坑
本来觉得2018年后的手机肯定稳了,结果测试红米Note5(骁龙636)时翻车!系统自动升级到MIUI 12后,OpenGL ES版本从3.1倒退回3.0!问客服说是“驱动优化”,我信你个鬼!
总结的血泪教训
查完几十部手机发现:
- 别信手机发布会吹的芯片参数,亲自用GLES Info跑一遍最靠谱
- 华为2015年后、小米2014年后(避开超低端)、三星2013年后的机器基本都行
- 重点避坑:二手老荣耀、运营商充话费送的山寨机、还有被魔改系统的老小米
对了,上周相亲吃饭还闹个笑话。姑娘用台冷门TCL手机,我职业病犯了当场给人测OpenGL ES版本,结果发现只支持到2.0…空气突然安静了五分钟,这破习惯真得改改。
