Уважаемые, подскажите, на хорошем хостинге выдержит мод онлайн 1000 с индвидуальными таймерами в 250 мс. Это сделано для точности таймеров.
Не станет ли плохо серверу и не начнутся лаги при онлайне в 1000?
Заранее спасибо за ответ
Вид для печати
Уважаемые, подскажите, на хорошем хостинге выдержит мод онлайн 1000 с индвидуальными таймерами в 250 мс. Это сделано для точности таймеров.
Не станет ли плохо серверу и не начнутся лаги при онлайне в 1000?
Заранее спасибо за ответ
Так же стоит понимать, что далеко не везде нужны точные таймеры, где вы хотите их впихнуть. В большинстве случаев хватит обычной сверки gettime() для точности
У меня для этого и таймер в 250 секунд, чтобы точно была с проверкой gettime() ибо в 1 секунду отстает на 2 секунды бывает таймер, а с 250 такого нет. И еще, хотел спросить, слышал, что если ид таймера запущенного на сервере больше 2.500.000, то сервер выключится - итс правда?:blush2:
Если таймеры отстают, значит есть код, который обрабатывается слишком долго, создавая задержки. И делая таймер на 250 мс, ты не исправляешь проблему, а лишь усугубляешь, создавая большую нагрузку. Если хочешь сделать правильно - займись оптимизацией.
А лучше вообще понять: так ли важно, что таймер будет отставать на пару секунд. На деле игрок этого и не заметит.
Тело цикла не выполнится ни разу.
UPD: Немного передалал код, но выполнять всё же не советую: сервер отжирает всю доступную память, что приводит к зависанию системы.
main() { new timer_id; for(new i = 0; i < 2; ++i) { for (new j = 0; j >= 0; ++j) // Пока не произойдёт переполнение, т.е. до cellmax включительно { if (timer_id % 1_000_000 == 0) // Выводить только каждый миллионный ID, чтобы } } }
Изначально код был такой
Это уже когда на форум скинул, решил сначала более наглядный вывод в консоль сделать, убрав условие для printf, а потом почему-то сделал умножение для cellmax, не подумав, что там получится отрицательное число и ничего работать не будет.
Если её больше 4-х гигов, то он ведь не всю отожрёт, а как раз те самые 4 гига и крашнет, не? Сервер ведь 32-битный и в больше 4-х гигов оперативки не может.
В любом случае, судя по активности автора, ответ на вопросы получен и тему можно закрывать
Вот только для выхода из цикла нужно число больше cellmax, а такого числа в Pawn нет и цикл будет выполняться вечно - вернее, выполнялся бы, если б не OOM (out of memory).
Не у всех пользователей форума 64-разрядная ОС.
На этом, пожалуй, можно переместить тему в архив.