目前游戏逻辑是,主界面可以打开排行榜,点按钮的时候会唤起主域,并显示。但是游戏主逻辑并没有唤起子域。目前情况是,只要打开过排行榜,再进入主逻辑(另外一个scene)帧率下降非常明显。从60降到20。也试过将子域Canvas分辨率调至1*2,仍然无法解决问题。请问,调用过wx.opendatacontext.postmessage 要怎样才能完全停止子域的开销?
文档里有说明。将子域enabled设为False,需要更新时再主动刷新或者开启
谢谢,但是我本来就是这么做的。不是这个问题。现在感觉不是渲染在开销,因为分辨率已经改成很小了还是很卡。而是子域一旦激活后,就开始开销,切场景后,新的场景里连子域那个组件都没有,仍然在开销
场景为空也会卡?这倒是没见过,通常只要在关闭子域时,把子域的所有节点都屏蔽掉,就不会再卡顿了,至少我是这样的。或者也有可能是版本问题?我的是2.0.9的
我原来是2.1.0,刚换成2.0.9还是一样。ios感觉不明显,安卓很明显。
请问你说的把子域所有节点隐藏是说子域的scene的所有节点还是说主域上带WXSubContextView的这个节点隐藏?
scece上的所有节点隐藏,不过通常我就隐藏到剩下Canvas和摄像机
试试,子域scene的根节点active = false
嗯嗯,这样确实就好多了。很奇怪,之前也只是开放了一个带有四五个子物体,几个label和sprite组件而已,脚本都没有update的,这样也会卡,有点奇怪。隐藏掉就不卡了。谢谢
嗯,除了接受主域消息的脚本节点以外都隐藏了,确实不卡了。谢谢
不过刚试了把子域完全摘除不打包,帧率又提高很多。。。。然后我刚试了子域就是个空场景,添加子域打包以后帧率就掉个15左右。。。ios可能没感觉,我用的低端安卓测试的。。
谢谢!正准备用原生的搞呢。
我觉得不用子域为好, 之前有个小游戏特别卡, 一直找不到原因, 然后不适用子域后流畅了很多.