I have been using component based design a lot and I like the idea of implementing a complete ECS for my game. But I have some problems connecting the dots. I am currently playing around with ashly and it seems all entities need to be updated each turn and I guess that is just how a ECS system works. I come to the conclusion that I literally have a ton of objects that do not need to be processed every turn and that would be a waste.
I already combined my tilemap with all the tiles as a single component and a separate tilemap render system to render it out, since updating each tile in a 200x200 map is costly, even if I only draw the ones on screen it needs to iterate the list. In my tilemap render system I just have an 2D array and know exactly which tiles to draw depending on the position and frustum size of my camera.
Now I want to implement items but my game can have many items on the map, many many thousands of raw resources and if the player is a hoarder type of player this can get out of hand if these also are processed. So again I am reverting to my old ways where I would have a basic item with a lot of fields, or a list of components but outside of the ECS. My tiles will have a list of items they hold and only one item needs to be rendered on top of the tile texture. If a character wants access to items on the map it just needs to know the tile coordinate and I can instantly spit out the list in my 2D array.
So am I implementing things incorrectly and do I have a fundamental miss conception about ECS or is ECS just not viable for my game? It seems nice for my pawns which can be a couple hundred and probably also nice for bullets and other effects that need updating every loop but a Tile or a Item that is just sitting somewhere it just seems a waste.