skyfish-qc / pixi-miniprogram

一个可运行于微信小程序的PIXI引擎,通过模拟window环境,有些功能小程序无法模拟,就直接修改了PIXI引擎代码,最终使得PIXI引擎正常运行在小程序上

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

请问有遇到IOS 下 wechatLib 2.16.0 版本 pixijs渲染黑屏吗?

lqloveball opened this issue · comments

wechatLib 2.16.0 是2021.3.24 更新的。
现在pixijs在出现ios手机下黑屏,目前还在排查原因。
不知道有没人有类似问题,并有相关解决方案经验分享。

测试另外一个项目使用 threejs没问题,先排除 IOS wechatLib 2.16.0 对webgl版本影响。

然后排查下来是 pixi.js 内没有 commonjsGlobal$1.performance 属性造成的

performance应该不会对渲染造成影响的,刚测试了wechatLib 2.16.0,是正常渲染的。你强退一下微信再打开小程序试试。

performance应该不会对渲染造成影响的,刚测试了wechatLib 2.16.0,是正常渲染的。你强退一下微信再打开小程序试试。

wechatLib 2.16.0 是没问题的,安卓与开发环境下没有问题,是到ios下时候由于performance不存在造成报错,然后后续代码就都不执行了。所以就黑屏掉了。

由于目前webpack版本原因还未能编译你的源码,今天会尝试解决后如何解决这兼容问题,有进展后分享。

我这边测试ios下是正常运行的,不会报performance的错误。你代码上有用到performance的地方么?

我这边测试ios下是正常运行的,不会报performance的错误。你代码上有用到performance的地方么?

我的代码没用到performance,测试了上面代码都没加。就引入pixi.js代码就已经报错了

是3月24号微信发布了2.160基础库后,在ios部分用户遇到pixijs就会报错(直接使用框架,不带任何业务逻辑代码情况下报错。不是所有机型,只有是ios并且小程序基础库版本是2.16.0)。

我这边测试ios下是正常运行的,不会报performance的错误。你代码上有用到performance的地方么?

由于ios版本下 2.16.0 在全局无法获取到 performance,所以只要在 index.js 内加入
var performance = performance || wx.getPerformance();
这样确保performance存在就ok了,实际pixijs内不会用到performance下的其他方法。同时performance.now 已经在pixijs 内判断实现了兼容了。

performance的判断已添加