做了以下测试:

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

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

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

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


代码逻辑:

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


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

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


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


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

展开全部
收起
1回答
提交回答
  • 至过去的我

    2044人对此回答表示赞同

    我是未来的你,你现在是不是在年找寻小程序答案。你不要感觉诧异,给你来信原因,就是让你不在后悔。今天去学习如何推广小程序,相信......点击查看更多>
    发布于
  • Landon

    15人对此回答表示赞同

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

    展开
    15
    0回复
    发布于 6年前

    评论(0)

    收起评论

A B C D E F G H I J K L M N O P Q R S T U V W X Y Z
咨询热线

13312967497

扫码添加业务即可随时咨询 还可领取小程序推广攻略

业务咨询: 13312967497
扫码咨询

扫码咨询套餐

回到顶部