Leksykon IT › Programowanie › Zmiana strukturalna (ECS)

Zmiana strukturalna (ECS)

Programowanie Svenska → Zaktualizowano: 2026-10-25

Sytuacja, gdy w ECS zmienia się zestaw komponentów encji, a jej dane trzeba przenieść między blokami pamięci — kosztowna operacja, której architektura w zasadzie ma unikać.

W ECS opartym na archetypach encje z dokładnie tym samym zestawem komponentów są upakowane obok siebie, i o to właśnie chodzi: systemy iterują liniowo po pamięci bez chybień pamięci podręcznej. Ale dodaj lub usuń komponent, a encja zmienia archetyp, więc wszystkie jej dane trzeba skopiować do innego bloku. To właśnie zmiana strukturalna.

Ponieważ takie przeniesienie unieważnia wskaźniki i indeksy w trakcie trwającej iteracji, systemy zazwyczaj nie mogą wykonywać go bezpośrednio. Rozwiązaniem jest bufor poleceń: zmiany trafiają do kolejki i są odtwarzane w punkcie synchronizacji między systemami. Tak działają DOTS w Unity, Bevy i Flecs. Wstawiaj zmiany strukturalne w każdej klatce, a zjesz dokładnie tę wydajność, którą ECS miał dać.

← Wróć do leksykonu