Obviously I don't know the exact strategy that PT4 uses to fill stats, but from what I understand / witness the pop-up stats are essentially filled on "request" i.e the first time you click to reveal the pop-up panels. The always visible stats show near instantly, but I am having problems with wait times for the pop-ups. Villains I have a lot of hands on, their pop-ups can take so long to fill that if I was to wait I would run out of time to act.
Now what I find is this work perfectly well for villains I only have < 1000 hands on, but for regs who I play day in day out, what I end up doing is when I get a second clicking one of their pop-up panels to kick the request off. Also, I note that even when a villain has their stats filled on one table, it doesn't transfer this data to the same villain sitting at my other tables.
A couple of suggestions.
1) That PT4 looks at villains sitting at tables and those who have a lot of hands (it must know as it the always visible #hands stat is showing), in a period where there is low postgres usage it sends a request to get some or all of the stats required for the pop-up.
2) One a villains stats have filled on a particular table, it transfers this data to all other known instances of the villain playing at other tables at which the active player is involved.
