I'll try to explain. Please bear in mind that I don't know the software being used to code up the two platforms, nor the methodologies used, so I am thinking generically, making some educated guesses about how it probably works.
There are a number of areas where computing resources could be consumed. From a player's viewpoint, these start at the screen, then there is the memory used to know what to put on the screen, holding the data for all the buildings and units, etc. Then there is the communications from your computer to Inno's gateway. Within Inno, there is a minimum of one server your data travels to (the database) but quite possibly a layer in between as well.
To lay it out in an example, one of your units takes a hit in battle:
- The local (memory) health of the unit in battle is deducted;
- The deduction is reflected on screen; meanwhile..
- This deduction is sent as a communication to Inno (World, player Id, Battle Id, Unit Id, new health stat);
- The gateway checks for security, passses the communication to the correct world server;
- The world server updates the record of health for the unit;
- The world server writes out a log entry for the damage (possibly skipped unless in beta);
- The server sends a communication back to your game, which updates the NON-battle version of the unit held in memory (I'm really guessing at this point but it would match what I have observed; I think the unit that goes into battle is a copy of the unit.)
That's just to give you some idea of what is going on, illustrating the various resources.
Most of the graphics effort is probably just what you see. (That might seem obvious but it isn't.) While the memory processing requirement for many of the same item is slightly less, depending on target platform and coding, what you see took some graphical effort while what you don't see probably did not. So, it doesn't really matter if you see one unit in your army or eight, the same(ish) graphics effort was taken.
Each unit is unique. It will have its own internal Id, which identifies (at server) with the barracks it was produced in (if any) and the position within those barracks. It has its own data on its health, along with how long it will take to heal the next unit of health. Things like the image used to display it, the name shown (in your language) that describes it, statistics on its strength and speed etc. are held just once in memory, pointed to by each of the same unit. (I'm making some massive guesses based on best practices and what makes sense - if we were talking of a certain very-large-but-named-as-very-small software company, I would not be guessing at such optimisation.)
So, displaying each unit on screen is simple: start at the first one, go through each unit owned, looking up the graphic image, text and numbers as needed.
Displaying each similar unit on screen
that has full health with a number overlay is just one extra step, requiring a pass through the units to count up such units and then hold the quantitiy along with all full-health units. It is made only slightly more complex if attacjhed and unattached units are combined into the count. A little bit more processing but not much for a greatly de-cluttered screen. (That's not the end of it, though, when one considers that the unit may be assigned to an attack or defence army, and that injured units become healthy ones, but these are not insurmountable UI issues.)
Where a potential saving could come would be not to hold healthy units individually in memory. As far as players are concerned, the unit is already random in terms which barracks it comes from (though there are suggestions to make it known), so the server could just send information on
one healthy unit, with the count of how many of that one there are. However, when one of them is injured, while the server can randomly assign which one it was, that cannot be communicated from the server to the game so easily (unless my guess is right that what fights is a copy, which can be dicarded after battle in favour of what the server says the current army is).
TLDR;
It is all to do with the way that units are held in memory and manipluated as they are created, go to battle, get injured and die.