Username or EmailPassword
It takes so long because the Gnome folks are pondering how to fix it The Right Way(TM).
Set a maximum button width based on the width of the taskbar widget such that a user-configurable whole number of buttons fits in the taskbar at this maximum width. If the number of buttons is higher than this threshold, each button is sized such that they all have the same width. Button width is only recalculated when adding or deleting buttons from the taskbar or resizing the taskbar.
That seems like reasonable and pretty simple behavior to me, but then again, my GUI programming experience isn't very extensive.