13.04.2013, 16:28
Во первых таймеры не тормозят, а тормозят ваши потоки. Во вторых код полная херня. Вы даже не подумали о TimerID при удалении таймера.
Таким образом выходит MAX_TIMERS общее не рациональное количество использования функции TSetTimer а не таймеров вообще. т.е. создав 10 таймеров, удалив из них 9 таймеров, 9 слотов не освободятся.
p.s. Если ваши таймеры (стандартные) дают погрешности больше 50ms, то у вас плохой код. Большие интервалы не замеряют SetTimer("name", много_времени, true\false), gettime вам в помощь. Вообще задержка таймера это показатель скорости выполнения потока. Чем больше задержка, тем больше лагов на сервере, таймер лишь указывает вам на это а не создаёт эти лаги.
pawn Код:
stock KillTimerEx(timerid) TimerInterval[timerid] = 0;
p.s. Если ваши таймеры (стандартные) дают погрешности больше 50ms, то у вас плохой код. Большие интервалы не замеряют SetTimer("name", много_времени, true\false), gettime вам в помощь. Вообще задержка таймера это показатель скорости выполнения потока. Чем больше задержка, тем больше лагов на сервере, таймер лишь указывает вам на это а не создаёт эти лаги.