Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

开启多窗口,一个有UI展示,一个没有UI展示 #387

Closed
dzCxy opened this issue Mar 28, 2022 · 10 comments
Closed

开启多窗口,一个有UI展示,一个没有UI展示 #387

dzCxy opened this issue Mar 28, 2022 · 10 comments
Labels
enhancement New feature or request

Comments

@dzCxy
Copy link

dzCxy commented Mar 28, 2022

用的是release 2.1.3 unlua版本
引擎版本是 4.26.2

我这里将局内UMG创建都放置Lua层了,结果发现多个窗口,一个有UI展示,一个没有UI展示
image

试过AB两个模式,一个有UI,一个没有UI
试过C模式,直接两个都没有UI了

然后再引过另一个讨论过的问题:
#78

发现多个窗口时,Lua会出现数据共享问题,就跟上面这个issue提的一样,都会只有一个LuaContext
体现在:
本地A窗口我按了 下蹲按键,我将状态值存到Lua中,并派发出UI刷新展示事件(UI根据是否下蹲状态值会显示不同的图标)
结果是本地A窗口对应的UI没变化,B窗口的下蹲UI变化了

@xuyanghuang-tencent
Copy link
Collaborator

原因是早期UnLua的设计没有考虑多LuaState,单进程环境下会导致状态混乱。大量全局对象的使用导致重构工作量比较大,目前这个重构工作的分支在refactor/luaenv上,预计2.2.0会合入。

PS:可以关闭UE的Run Under One Process选项,使用多进程跑就没有这个问题了,代价是启动多个游戏进程会慢一点点。

@xuyanghuang-tencent xuyanghuang-tencent added the enhancement New feature or request label Mar 28, 2022
@dzCxy
Copy link
Author

dzCxy commented Mar 28, 2022

原因是早期UnLua的设计没有考虑多LuaState,单进程环境下会导致状态混乱。大量全局对象的使用导致重构工作量比较大,目前这个重构工作的分支在refactor/luaenv上,预计2.2.0会合入。

PS:可以关闭UE的Run Under One Process选项,使用多进程跑就没有这个问题了,代价是启动多个游戏进程会慢一点点。

我试过这个选项
我刚测试过
1.数据共享的问题是解决了
2.UI的问题依旧,还是如上述所述:
试过AB两个模式,一个有UI,一个没有UI
试过C模式,直接两个都没有UI了

@xuyanghuang-tencent
Copy link
Collaborator

试试develop分支,或者手动合下上面那个提交

@dzCxy
Copy link
Author

dzCxy commented Mar 28, 2022

试试develop分支,或者手动合下上面那个提交

试了手动合并,不行。开启多窗口时直接报错了。我的版本是release2.1.3,可能跟develop差别比较大
我下午试试develop分支

@dzCxy
Copy link
Author

dzCxy commented Mar 28, 2022

试试develop分支,或者手动合下上面那个提交

针对UI在Standalone模式显示的问题已经修改好了,感谢
单进程多LuaState的问题,就期待你们了2.2.0咯

@jackfong66
Copy link

试试develop分支,或者手动合下上面那个提交

针对UI在Standalone模式显示的问题已经修改好了,感谢 单进程多LuaState的问题,就期待你们了2.2.0咯

是合并到 refactor/luaenv分支就好了吗 我也有这个问题

@dzCxy
Copy link
Author

dzCxy commented Apr 24, 2022

image
image

@dzCxy
Copy link
Author

dzCxy commented Apr 24, 2022

试试develop分支,或者手动合下上面那个提交

针对UI在Standalone模式显示的问题已经修改好了,感谢 单进程多LuaState的问题,就期待你们了2.2.0咯

是合并到 refactor/luaenv分支就好了吗 我也有这个问题

1

@jackfong66
Copy link

试试develop分支,或者手动合下上面那个提交

针对UI在Standalone模式显示的问题已经修改好了,感谢 单进程多LuaState的问题,就期待你们了2.2.0咯

是合并到 refactor/luaenv分支就好了吗 我也有这个问题

1

develop分支并没有解决 多个 LuaState的问题. 看样子只能 等refactor/luaenv到 2.2.0了

@xuyanghuang-tencent
Copy link
Collaborator

v2.2.0

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request
Projects
None yet
Development

No branches or pull requests

3 participants