收藏
回答

开放数据域导致真机出现闪屏现象

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


做了以下测试:

1、将开放数据域关闭,画面正常

2、将开放数据域打开,在启动画面阶段,就会一直出现闪屏现象(此时主域和开放数据域还没有post 消息)

3、在开发者工具中不会出现闪屏现象

4、主域 post 消息给开放数据域,可正常显示期望的开放数据域的画面,就是闪屏还是一直存在。


代码逻辑:

主域和开放数据域是两个独立的工程,启动时两个域都会同时执行启动步骤,都会按照相同的启动流程创建 canvas(开放数据域中创建的 canvas 按文档上说应该不是上屏 canvas,不会与主域的上屏 canvas 冲突才对)


数据域的初始化启动流程和主域一样,会先创建一个 canvas 作为主 canvas,然后每帧会将内容渲染到该 canvas 上。

主域每帧会 post 消息到开放数据域,开放数据域再将主 canvas 上的内容 drawImage 到 sharedCanvas 上,然后主域将 sharedCanvas 渲染到主域的上屏 canvas 上。


现在闪屏的现象,感觉是开放数据域每帧绘制的 canvas 也会上屏,与主域的上屏 canvas 互相绘制,导致闪屏的。


不知道这个推测正不正确,望帮忙

最后一次编辑于  2018-07-13
回答关注问题邀请回答
收藏

2 个回答

  • 后米米米米
    后米米米米
    2019-01-27

    老哥有没有研究出啥来,这个问题是怎么产生和解决呢?

    2019-01-27
    赞同
    回复
  • 呀嘻嘻
    呀嘻嘻
    2018-07-13

    又做了以下测试:在开放数据域启动时不执行初始化操作时,不会出现闪屏。然后通过主域 post 消息到开放数据域执行游戏的初始化操作,立即出现闪屏现象。


    不清楚在开放数据域中执行什么行为,会导致闪屏现象呢?

    2018-07-13
    赞同
    回复
登录 后发表内容