Yesterday, while hacking an enemy portal, I was blasted and lost 300 XM. Even though the portal was packed with XM and I was sitting right on top of it, my XM didn't replenish itself as fast as I expected, getting absorbed in waves. Is there a limit to the XM I can get at the same time or was it a glitch due to my connection?
XM processing is done in batches. The area you're standing on might have 5000 available, but you can only pick up 1000. So that is distributed over the entire area. Apparently, that is done individually for every player, then the system calculates how much XM is actually taken up and tells the clients. Wait a second (the documentation states that you need to be in range of the XM for at least one second in order to pick it up), repeat.
This algorithm implies that if multiple players are at the same spot, they can take up more than what'd be there if they went to that place individually. AFAIK it's not known whether this is intentional.
You can take advantage of this bug/feature by staying close to other players when you walk towards a portal; that way everybody gets (almost) the whole XM that's lying around. Likewise, if you synchronize hacking a portal, you only take up one hack's equivalent of XM from your surroundings.
Edited to add: It seems that the server tells the client where XM is or is not, but then trusts the client's report that the agent has taken up XM. I will not report here how I tested this: the way I did it is, basically, cheating.
I'm pretty sure it was some kind of glitch. I had something similar, where new XM spawned, but I just wouldn't collect it. I walked to a nearby portal, and only some of the XM there was collected.
It was like I could collect "old" XM, but not the newly spawned XM. The XM at other portals nearby behaved normally.
So, I don't know what exactly happened there, but it couldn't have been some XM per time limit.