收藏
回答

小游戏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之间的执行顺序,使效果能和安卓端一致。


回答关注问题邀请回答
收藏

1 个回答

  • 小蜜蜂
    小蜜蜂
    2019-10-23

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

    2019-10-23
    有用
    回复
登录 后发表内容