从CPU的角度来说ECS为何性能好

ECS的写法,让数据的命中变高了,从而提高了CPU的使用数据的性能,因为ECS的数据是连续,批量的
而OOP的写法,数据是没有组织的,数据比较离散,要去多个cache里面去找,命中率低
因为CPU是通过cache line去获取一小段内存数据,而连续的内存数据,会让cache line命中率高,就是最终调用的cache line数量少就可以拿完所有数据
而离散的数据,会让cache line的命中很低,需要多次cache line才能拿完数据。
并且因为数据连续的原因,数据大部分情况只在一个 L1 cache L2 cache里面,不会跨cache。
这就是连续内存设计的好处

浙公网安备 33010602011771号