首页 > 编程语言 > 详细

Unity-JobSystom

时间:2020-05-15 18:27:36      阅读:48      评论:0      收藏:0      [点我收藏+]

什么是Job System?

  • 一个job system通过创建jobs而不是线程来管理多线程的代码。Job是一个小的工作单元,不等同线程。管理运行在多个核心上的一组工人线程(worker threads)。
  • Job的处理数据是值类型,由NativeContainer管理,而NativeContainer的存在就是通过指针操作解决copy得来的数据的回传结果问题。
  • 当Job之间有数据依赖,用JobHandle之间的依赖来解决。总之原则就是一份数据只能由一个Job来修改。当数据不需要修改,强烈建议标记只读,提升性能。而且可以并行读取。

Tips:

  • Do not access static data from a job
  • Flush scheduled batches
  • Don’t try to update NativeContainer contents --没有指针概念,所以修改后要赋值回去。
  • Call JobHandle.Complete to regain ownership
  • Use Schedule and Complete in the main thread -- 不要尝试 schedule jobs within jobs.
  • Mark NativeContainer types as read-only
  • Check for data dependencies
  • Do not allocate managed memory in jobs

Unity-JobSystom

原文:https://www.cnblogs.com/Jaysonhome/p/12896107.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!