Go back to the old school umd calcs. i.e. it is only checked when you attempt to equip and item requiring umd. That is one check and it only happens when you equip an item requiring it.
The current system appears to check every item you are wearing every time you swap anything. That's a lot more calculations.
I'm not 100% on how all these checks work, but I saw something in another thread that made me think of this. I know many of my characters have several umd required items on at any given time.