Les autres réponses ont très bien décrit ce qu'est un chunk : une colonne de 16x16 qui représente une unité de terrain. Le terrain est ensemencé, chargé et déchargé dans ces unités. Je vais tenter de répondre à la question de savoir pourquoi ils existent, par opposition à un continuum amorphe de blocs, chargés et déchargés selon les besoins.
Pourquoi ne pas considérer chaque bloc comme un objet à part entière ?
Chaque objet indépendant transmis à la carte graphique a une charge considérable, sa propre connexion aux textures, la décision de le rendre ou non doit être prise, etc. etc. En tant que tel, il est peu plausible d'avoir chaque bloc comme son propre objet indépendant (j'ai brièvement programmé quelque chose comme ça ; c'était mauvais ). Cela écarte la partie du spectre où tout est séparé.
Pourquoi pas tous les blocs ensemble ?
À l'autre extrémité du spectre, tous les blocs sont regroupés en un seul objet (ce qui serait en fait très similaire à la séparation de chaque bloc). Cette solution offre les frais généraux les plus bas, mais présente plusieurs inconvénients majeurs ;
- Lorsque vous ne regardez pas un objet, la carte graphique peut le réduire en économisant des ressources. Si l'objet n'est qu'un seul et même objet, ce n'est pas possible ; il est tout rendu ou rien ne l'est.
- Chaque fois que vous voulez changer un bloc (ce qui arrive souvent dans Minecraft), l'ensemble doit être reconstruit en moins d'un soixantième de seconde pour être convaincant et ce n'est tout simplement pas possible.
Résumé
Les chunks sont la position intermédiaire entre ces deux extrêmes, vous réduisez le nombre d'objets indépendants de centaines de milliers de blocs à quelques centaines de chunks, mais vous pouvez toujours éliminer les parties de la scène que vous ne regardez pas et si un bloc est ajouté/supprimé, vous ne devez reconstruire que 1% de la scène au lieu de 100%.