Project1

标题: 修复MV手机端地图黑线 [打印本页]

作者: saicatedoan    时间: 3 天前
标题: 修复MV手机端地图黑线
创意来源:https://rpg.blue/thread-490983-1-1.html

原因这个楼里的大佬已经解释的很清楚了,是Shader的精度问题导致的
但是,有一个小细节他说错了,并不是没有设置精度导致的未定义行为
而是未定义精度的情况下会使用pixi的默认精度,而这个默认精度在不同设备上的效果是不一样导致的

准确来说,pixi shader能使用的精度有三种,在pixi.js里是这样定义的
var PRECISION = exports.PRECISION = {
  LOW: 'lowp',
  MEDIUM: 'mediump',
  HIGH: 'highp'
};
然后着色器使用的默认精度是由下面两个值定义的
PRECISION_VERTEX: 'highp',
PRECISION_FRAGMENT: 'mediump',
看起来没啥问题,大家用的不都是mediump...吗?
在PC上,不管你是用highp、mediump还是lowp,精度统统都是23位,范围127
但是在我的便宜手机上,mediump的精度就变成了10位,范围15,然后就导致了黑线问题

既然知道了问题的来源,那么解决办法也很简单,在合适的时机修改使用的着色器精度为highp即可
(如果用插件实现,这个时机比较难拿捏,我这里只是提供一种参考,如果直接修改pixi.js那有很多方法搞定)

AndroidFixMV.zip (748 Bytes, 下载次数: 7)





欢迎光临 Project1 (https://rpg.blue/) Powered by Discuz! X3.1