Lessico IT › Programmazione › Modifica strutturale (ECS)

Modifica strutturale (ECS)

Programmazione Svenska → Aggiornato: 2026-10-25

Quando in un ECS cambia l'insieme di componenti di un'entità, i suoi dati devono essere spostati tra blocchi di memoria — un'operazione costosa che l'architettura è nata per evitare.

In un ECS basato su archetipi, le entità con esattamente lo stesso insieme di componenti sono memorizzate compatte l'una accanto all'altra, ed è proprio questo il punto: i sistemi scorrono la memoria in modo lineare, senza cache miss. Ma se si aggiunge o si rimuove un componente, l'entità cambia archetipo e tutti i suoi dati vanno copiati in un altro blocco. Questa è una modifica strutturale.

Poiché uno spostamento del genere invalida puntatori e indici nel bel mezzo di un'iterazione, di solito i sistemi non possono eseguirlo direttamente. La soluzione è il command buffer: le modifiche vengono accodate e riapplicate in un punto di sincronizzazione tra un sistema e l'altro. DOTS di Unity, Bevy e Flecs funzionano tutti così. Se si disseminano modifiche strutturali a ogni fotogramma, si butta via esattamente la prestazione che l'ECS doveva garantire.

← Torna al lessico