cocos官方如何看待unity新版ECS框架

如题。
第一次听说ECS是看GDC2017 OverWatch团队的演讲,今天有看到腾讯游戏学院在发UnityECS的帖子。
不知道cocos官方怎么看待ECS,后面会不会也改成ECS。

你问着,证明你还不懂ecs,而且unity模式一直都是组合模式,cocos creator也是

https://www.zhihu.com/question/286963885

Unity官版ECS在Unite2017 Austin就已经show过了
下面相关链接可以了解下
https://unity3d.com/cn/unity/features/job-system-ECS
https://github.com/Unity-Technologies/EntityComponentSystemSamples/blob/master/Documentation/content/getting_started.md

多看多学

cocos如果能把cc.Node的图形和事件等属性等作为component提取出来,只保留组件容器能比较容易实现上述的ECS架构.
现在的cc.Node的结构太重,只能另外写一套库把cc.Node包装成一个component.

同意楼上说的话

cocos creator不是ecs工作流?官方现在主推creator,官方没有把cocos2dx 4.0改成纯实体组件模式的打算哎。

EC和ECS不太一样
简单说,两者都是E只负责极少数数据,把功能都交给C
但EC是每一帧执行每个C的update
而ECS是改成每一帧执行一次S的update,更新所有C
好处是提高cpu缓存命中率,降低换页中断,以及方便使用并行化算法
坏处是S的代码不像EC里的C那样直观,维护难度会较为加大
其实如果没有遇到性能瓶颈,就不需要加S,如果同一帧会存在200个以上同样的C需要update,那还是抽出来交给S处理的好

2赞

分析的很深刻

应该说是更优化的ECS。我感觉和这个很像EntityFu

额 层主是不是说错了。。简单说亮着都是E只负责数据么。。感觉 两者E都只是个容器而已 壳子。数据都是在C,然后 EC 也就是现在creator和unity原来使用的 在component里定义数据和行为的方式,所以说,EC是C干了定义数据定义行为 然而ECS是C只是数据,而S也就是所谓的各种System来定义行为。
同样 赞成层主说的 更新机制不一样,EC是有多少C就会在做多少次update 然而ECS的是根据System来进行规定好的遍历 也就是对cpu-cache友好吧。

E其实只把节点的变换矩阵,和节点是否active管理了就好。当然也可以像Unity那样把这些封装成一个特殊Component,这样E就只是一个id,当容器,壳子了,两者其实并无本质区别,反正transfrom也是固定一个E必须有一个

然后我说功能交给C,是我没表达清楚,我其实想说的是,除了我刚才说的那两者,变换和启用与否,其他所有功能,需要的数据都拿出去给C

1赞

现在回看creator的ecs,貌似只是逻辑架构层面的模仿,实际并没有如同unity那般内存布局的优化是吗?看了蛮多文章分析细称,这个C实际还是unity的monobehavior那套,不知道这个针对creator中ecs的看法对还是不对,有点疑惑

creator不是ecs,只是单纯的组合设计模式

内存布局优化cc想做也做不了呀, 这个是google的v8和apple的jsc决定, 你应该去ta们官网反馈叫ta们两个js引擎的内存布局优化做好点 :rofl: