IT用語集 › プログラミング › 構造的変更(ECS)

構造的変更(ECS)

プログラミング Svenska → 更新: 2026-10-25

ECSでエンティティのコンポーネント構成が変わると、そのデータをメモリブロック間で移動する必要がある。本来ECSが避けるよう設計されている高価な操作。

アーキタイプ方式のECSでは、まったく同じコンポーネント構成のエンティティが密に詰めて格納される。これこそが狙いで、システムはキャッシュミスなしにメモリを線形になめられる。ところがコンポーネントを追加・削除するとエンティティのアーキタイプが変わり、全データを別のブロックへコピーしなければならない。これが構造的変更だ。

こうした移動は、実行中のイテレーションの途中でポインタやインデックスを無効にするため、システムは通常それを直接行えない。解決策はコマンドバッファで、変更をキューに積み、システム間の同期点でまとめて再生する。UnityのDOTS、Bevy、Flecsはいずれもこの方式だ。毎フレーム構造的変更をばらまけば、ECSがもたらすはずだった性能をまさに食いつぶす。

← 用語集に戻る