Posts: 77
Threads: 18
Joined: Jun 2014
Reputation:
0
Добрый вечер. Хотелось бы спросить про таймеры, а точнее глобальный таймер.
Если постоянно создавать отдельный таймер это как то повлияет на скорость работы мода? или же лучше создать один глобальный таймер на 100 мс?
Posts: 80
Threads: 8
Joined: Jan 2014
Reputation:
0
А в этом таймере что вы хотите вставлять?
Если цикл игроков, и тогда ничего нормального не выйдет
Posts: 77
Threads: 18
Joined: Jun 2014
Reputation:
0
Циклы в него не планирую вовсе.
Posts: 77
Threads: 18
Joined: Jun 2014
Reputation:
0
Хотя, не таймеры ведь делают нагрузку на мод, а код который в них содержится, т.е получается без разницы сколько таймеров? даже если поместить весь код в один таймер то нагрузки меньше не станет?
Posts: 77
Threads: 18
Joined: Jun 2014
Reputation:
0
Ну я думал так, что если взять обычный таймер и паблик к примеру SetTimer("timer", 100, flase);
т.е паблик timer вызывается каждые 100 мс. Т.е мы сможем с помощью паблика имитировать таймер на время кратное 100 мс. К примеру 10 секунд = 10 000 мс. Значит надо повторить паблик 10 000 / 100 раз. Для этого я создаю глобальную переменную new timer10s;
В итоге должно получится как то так.
public timer()
{
new timer10s = 0;
if (++timer10s >= (10000 / 100))
{
timer10s = 0;
/*
Код
*/
}}
Так вот сам вопрос, по нагрузке будет ли отличаться стандартный метод испльзования таймеров т.е к каждой "функции" отдельный таймер или же лучше метод указаный выше?
Posts: 77
Threads: 18
Joined: Jun 2014
Reputation:
0
Хорошо, понял, спасибо за ответ, это я и хотел услышать.
Posts: 70
Threads: 17
Joined: Dec 2012
Quote:
Originally Posted by AlexeyTrekkkk
Добрый вечер. Хотелось бы спросить про таймеры, а точнее глобальный таймер.
Если постоянно создавать отдельный таймер это как то повлияет на скорость работы мода? или же лучше создать один глобальный таймер на 100 мс?
|
Не советую делать на 100 мс общий таймер, таймер может не успеть выполниться в какой-то момент и CPU начнет перегружаться, на сервере лаги будут ужасные. 100 мс можно делать в единичных таймерах, например -
PHP код:
SetTimerEx("KickFix", 100, false, "i", playerid);
forward KickFix(playerid);
public KickFix(playerid)
{
Kick(playerid);
return true;
}