unity使用多线程或异步Demo
展开全部
不只Unity,大多数游戏引擎都是单线程的,因为大多数引擎都是主循环结构,逻辑更新和画面更新的时间点要求有确定性,如果在逻辑更新和画面更新中引入多线程,就需要做同步而这加大了游戏性程序员(编程关卡的程序员)的开发难度。所以需要异步功能的时候,游戏引擎总是倾向于使用time slicing的策略而不是使用多线程,Unity中的协程(coroutine)yield语法本质就是time slicing。但是多线程也是有好处的,如果不是画面更新,也不是常规的逻辑更新(指包括AI、物理碰撞、角色控制这些),而是一些其他后台任务,比如网络传输,则可以将这个独立出来做成一个工作线程,这需要写Unity游戏的Native扩展。
追问
谢谢,就是我现在是只需要更新数据,获取到新的和旧的数据比较,我试了一下,获取数据时造成了堵塞,所以才考虑用多线程或者异步,你有好的方法么老哥
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询