html52.com
我爱小程序-开发者交流社区

小游戏iOS端点击退出再返回bug

问题模块 框架类型 问题类型 操作系统 操作系统版本 手机型号 微信版本
客户端 小游戏 Bug iOS iOS 10.1.1 iPhone7 6.6.6

- 当前 Bug 的表现(可附上截图)

小游戏iOS端,点击右上角退出键,再点击回到小游戏。会先执行wx.onShow里的回调,再生成屏幕上用于显示的canvas。

wx onShow
[wxgl]Creating ScreenCanvas (WebGL): size: 1334x750, style: 375x667, antialias: yes (2 samples), preserveDrawingBuffer: yes
[wxgl]Creating ScreenCanvas (WebGL): size: 1334x750, style: 667x375, antialias: yes (2 samples), preserveDrawingBuffer: yes


- 预期表现

先生成屏幕上用于显示的canvas,再执行wx.onShow里的回调。


- Bug复现原理

我是用WebGL自己做的更新渲染。为了降低gpu负荷,每帧都会检测当前帧的所有显示对象的属性是否有变化,如果3帧以上没变化,则不再重绘当前帧内容。如果有变化,则清屏,重绘所有显示对象。为了每次interrupt之后回到游戏时,能够重绘屏幕,我在wx.onShow中设置了强制重绘全屏元素。但是在上述情况下,重绘之后原canvas还没被设置到屏幕上,所以导致没有重绘,所有对象没有被渲染。这个情况在安卓端是能够正常显示的。希望能够调整生成屏幕canvas和onshow之间的执行顺序,使效果能和安卓端一致。


评论 抢沙发

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址

真正的个人免签约支付接口

云免签H5支付