小游戏iOS端点击退出再返回bug
发布于 5 年前 作者 lima 7278 次浏览 来自 问答
  • 当前 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之间的执行顺序,使效果能和安卓端一致。

1 回复

请问楼主有解决方案了吗?

回到顶部