码迷,mamicode.com
首页 > 其他好文 > 详细

ECS:Sync points and structural changes

时间:2020-02-29 22:16:00      阅读:77      评论:0      收藏:0      [点我收藏+]

标签:sync   卡顿   而不是   nts   component   shared   hunk   change   jobs   

结构性修改Structural changes:
    任何导致entity的原型(archetype)变化,或者entity在chunk中的存储位置变化的修改,都叫做结构性修改。
    以下操作皆为结构性修改:
    创建或销毁entity
    添加或移除component
    修改shared component的值
 
同步点Sync points:
    ECS中的同步点表示需要等待所有调度的jobs执行完毕的点,会导致卡顿或CPU利用不充分,所以要尽量避免同步点的产生。
    结构性修改是触发同步点主要来源。
    结构性修改不只是会导致同步点,还会导致之前对component的引用全部失效,包括DynamicBuffer<T>。
 
解决方案:
  使用ECB来缓存structural changes的操作,然后一次执行,而不是贯穿在逻辑中的各种地方。
 

ECS:Sync points and structural changes

标签:sync   卡顿   而不是   nts   component   shared   hunk   change   jobs   

原文地址:https://www.cnblogs.com/sifenkesi/p/12386440.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!