Yapısal değişiklik (ECS)
Bir ECS'te varlığın bileşen kümesi değiştiğinde verisinin bellek blokları arasında taşınması gerekir — mimarinin aksi halde kaçınmak üzere kurulduğu pahalı bir işlem.
Arketip tabanlı bir ECS'te tam olarak aynı bileşen kümesine sahip varlıklar sıkıca bir arada saklanır; bütün mesele budur: sistemler bellek üzerinde önbellek ıskalaması olmadan doğrusal gezer. Ama bir bileşen ekler ya da çıkarırsanız varlık arketip değiştirir ve tüm verisinin başka bir bloğa kopyalanması gerekir. İşte bu bir yapısal değişikliktir.
Böyle bir taşıma, çalışan bir yinelemenin ortasında işaretçileri ve indeksleri geçersiz kıldığından sistemlerin bunu genellikle doğrudan yapmasına izin verilmez. Çözüm komut tamponudur: değişiklikler kuyruğa alınır ve sistemler arasındaki bir senkron noktasında yeniden oynatılır. Unity'nin DOTS'u, Bevy ve Flecs hep böyle çalışır. Her karede yapısal değişiklik serpiştirirseniz, ECS'in vermek için tasarlandığı performansı tam da kendi elinizle yersiniz.