08.08.2011, 04:09
Quote:
Код:
new count = GetTickCount(); for(new i; i < 1000000; i ++) { if(!IsPlayerConnected(100)) continue; } printf("IsPlayerConnected: %d", GetTickCount() - count); IsPlayerConnected: 95 IsPlayerConnected: 98 А как по-твоему работают сервера с онлайном 300-500 без единого лага? При онлайне 500 никакой foreach как таковой и не требуется. Я лично делаю всё не зависимо от онлайна, но так, чтобы даже если будет 500 игроков сервер не лагал |
Пример из одной моей системы: цикл прогоняет 1500 итераций 2 раза в секунду, в каждой из этих итераций проверяются все игроки. Теперь помнож свои "незначительные" задержки на 3000 и получеш насколько эта проверка будет делать мне лаг ежесекундно.