Why ECS is so underrated?

Posted by CLinkZ-s4h@reddit | programming | View on Reddit | 24 comments

why do many people in game development choose OOP if it is extremely slow? here are the advantages and disadvantages of OOP.

Disadvantages:

- lack of multithreading (systems are very difficult to isolate from each other, which leads to strong dependency and interferes with multithreading)

- cache misses (the CPU often waits for data from slow RAM, because now the CPU is always faster than RAM).

- heavy objects (inheritance in OOP is a very heavy and abstract system that eats a lot of RAM).

Advantages:

- Simple and convenient.

and what about ECS?

Disadvantages:

- difficult, sometimes inconvenient. not recommended for UI

Advantages:

- all the disadvantages of the OOP are solved here.

I know that companies cannot find good programmers who know ECS and as cheaply as possible. But I personally think if you're making a server-side game, it's a good investment. ECS is one of the most performant paradigms that exist in gamedev. Personally, I think ECS should penetrate gamedev a little bit, which will expand the possibilities for creating heavy games that require a lot of CPU resources.