diff options
author | Max-001 <80035972+Max-001@users.noreply.github.com> | 2024-09-16 16:53:41 +0200 |
---|---|---|
committer | Max-001 <80035972+Max-001@users.noreply.github.com> | 2024-09-16 16:53:41 +0200 |
commit | f923835a5e82d727dc27d61ef9ef9d731580b0c9 (patch) | |
tree | 4996829395283dfa9629fca3de46ebd46de0d30a | |
parent | fc4df693f53b369b79e3f5c72a29110862390744 (diff) |
Added popular ECS
-rw-r--r-- | research.tex | 24 |
1 files changed, 22 insertions, 2 deletions
diff --git a/research.tex b/research.tex index ad33d10..3e2e103 100644 --- a/research.tex +++ b/research.tex @@ -66,10 +66,30 @@ must be stored efficiently, and entities must be provided with the required beha such as audio, position, or physics. To create diverse entities with specific functions: A scene can contain many different kinds of entities, each with different properties and functions. But no matter how different each entity is, it remains an -entity. To assign properties and functions to entities, components are used. Entt is -an example of an \gls{ecs}. +entity. To assign properties and functions to entities, components are used. % TODO: ref?entt +There are many C/C++ libraries available, completely dedicated to \gls{ecs}. The most +popular libraries are shown in \cref{tab:popularECSLibraries}. The popularity is based +on the amount of stars on GitHub. +\begin{table} + \begin{tabularx}{\linewidth}{lXr} + \toprule + \textbf{Name} & \textbf{Short Description} & \textbf{GitHub Stars} \\ + \midrule + EnTT & Fast and reliable entity-component system & 10k \\ + Flecs & A Multithreaded Entity Component System written for C89 and C99 & 6.3k \\ + EntityX & Fast, type-safe C++ entity component system & 2.2k \\ + \bottomrule + \end{tabularx} + \caption{Popular \gls{ecs} libraries} + \label{tab:popularECSLibraries} +\end{table} +https://github.com/abeimler/ecs_benchmark + +It is, of course, not necessary to use a library to implement an \gls{ecs} architecture. +However, it seems very hard to achieve the same performance as a library. https://github.com/SanderMertens/ecs-faq?tab=readme-ov-file#should-i-write-my-own-ecs + \subsection{Conclusion} \section{Third-party Tools} |