小游戏 开放数据域 跟 主域 代码共享的问题

发布于 8 年前作者 wei2111983 次浏览最后编辑 8 年前来自 ask

请问小游戏框架里,开放数据域不能import主域的代码吗,如果是,那么

1, 放在主域下的引擎相关的代码(比如图形绘制,场景管理等),在开放域里该如何使用呢?

2, 如果根本不能使用,那么是否可以把引擎代码拷贝一份到开放数据域,单独使用?

3, 如果2可以,那么就是同一个游戏里,会有两份引擎的代码?

不知道理解是否正确,求解,拜谢!

7 回复
mingpeng
mingpeng1 楼6 年前

方案1:相当与时刻在主屏刷新共享屏幕,会大幅拉低fps,这是我遇到的问题

方案2:完全依赖post,事情会比较复杂

我目前是将这两个方案结合了做的,由猪域驱动,即:

1,在需要绘制好友关系相关数据时,post事件到开放域,同时主域开启绘制共享屏,开放域收到事件后执行相关绘制操作

2,当不需要是,主域关闭绘制共享屏,并post事件到开放域停止相关绘制

这个方案能部分规避方案1的问题,在大部分时间fps能正常,但是一旦启动开放域的绘制fps就掉下来了,希望官方能有更好的指导方案

uyu
uyu2 楼6 年前

似乎共享屏渲染到主屏的操作,在安桌手机上效率极低?能从30fps拉低到5fps,ios没有发现相关问题。请问 @秀秀 是否有遇到同样的问题,谢谢

chao07
chao073 楼6 年前

谢谢,感觉这个设计有点坑啊,虽然是为了保护关系数据不被外部任意使用,但是代码共享还是可以支持一下

qlai
qlai4 楼6 年前

我的游戏情况更复杂,由于好友的数据无法发送到主域名,所以游戏交互部分必须全部在开放域名下做

我做的类似于时时刻刻和好友的数据比拼的游戏,好友数据必须要每一帧渲染到共享屏

所以主域需要每一帧同步共享屏的

这样做出来掉帧严重的话 那似乎也不是办法

希望官方尽快给出指导方案

jingzou
jingzou5 楼6 年前

我也希望尽快给出一个解决方案 否则代码维护很成问题

fangpeng
fangpeng6 楼6 年前

目前应该是需要公共的代码 放2份!主域一份,开放域一份

没其他办法

phan
phan7 楼6 年前

我还没测试到这一步

不知道您是怎么渲染的 大概有2种方式

  1. 全开放域模式下开发,主屏只负责循环刷新 sharedCanvas 到 canvas

  2. 半开放域模式下开发,需要调用关系链的画面在开放域下渲染,主域通过 post 消息到开放域

不清楚频繁 post 消息是否会影响效率,第二种方案理论是需要 每一帧都需要 post 的