We don't use Add players from Players Tab because it open a window witch (correct me if I'm wrong) load the Database each time you open it. So it take a while to load and search a player when you have 5k players or so... not even talking if you pass the 10k players lol. So we are not using it.
Not quite, but the effect is the same. The application keeps the entire database of players in memory, but only part of each player's information (Nickname, First name, and Last name). So, as long as you aren't displaying any of the additional fields on the various player dialogs (or searching on those fields), then no, it doesn't actually have to load anything. If you display or search the additional fields, the app is indeed loading from disk every player, every time. You'll see a delay due to loading player information anywhere the additional fields are displayed (player dialogs, Players tab, Database tab, or Stats tab). If you sort the player list by one of those additional fields, the delay due to loading from disk can be very pronounced for large databases (1000s of players).
With this release (3.3.b1), the application can cache the additional fields. This dramatically changes the time the app takes to display, sort, or search through players when utilizing those additional fields.
Unfortunately this is not the whole story. On the Players, Database, and Stats tabs, the list of players is typically displayed in pages (you can turn this preference off per tab). But on the various player dialogs (add to tournament, buy-in, rebuy, etc), your player database is displayed in its entirety, all in one list with no paging. It doesn't take long to create this list, even with 1000s of players. What takes a long time now is rendering the list. That is, Internet Explorer actually drawing the list on the screen. And there's nothing the TD can do to improve upon this. On the tabs, only a few dozen players are displayed, so rendering is pretty fast. On the player dialogs, 1000s of players are rendered. Even if you have a league selected, for example, with only 10 players in it, the entire player list is included, it's just that those not in the selected league are hidden.
I suppose I could overhaul the player dialogs again to allow paging. Would probably speed things up for large databases.