收藏
回答

Unity导出小游戏怎么适配多线程?

目前我们得项目基于unity进行开发,想要转换到微信小游戏中运行,想请教一下,怎么适配unity当中得线程到微信小游戏得worker?

已知仅有1个worker得限制,我们项目在unity当中使用了单独得线程来做逻辑,目前需要得就是将这个线程放到worker线程中去执行,请教下需要怎么适配,C++做一个thread得wrapper是否可以?

回答关注问题邀请回答
收藏

2 个回答

  • 刘先生
    刘先生
    星期三 14:52

    我们使用 C++ 编译成的 wasm。在微信开发者工具中执行到 C++ 代码创建线程的时候直接 abort了。看到这里才发现不支持多线程,建议官方文档里面写清楚一些。在适配不同平台时,除了小游戏,别的平台一般都正常支持多线程的,需要针对小游戏平台做特定的处理。

    星期三 14:52
    有用
    回复 1
    • 刘先生
      刘先生
      星期三 15:42
      经过学习我发现,C++这类多线程正是依赖 SharedArrayBuffer才能运行的,不支持 SharedArrayBuffer 也就无法真正支持native的多线程。
      星期三 15:42
      回复
  • mojf
    mojf
    2024-10-15

    小游戏多线程支持还不完备,例如不支持 sharedarraybuffer,unity webgl 也不支持 C# job 多线程。

    一种变通的方式是:使用 C++ 编写然后编译成wasm,给 worker 线程执行;主线程和worker 线程通过 message 进行通信。

    2024-10-15
    有用
    回复
登录 后发表内容