Представляю вам новый способ использования таймеров, взамен SetTimer. Приведу + и - работы с ним.
gettime:
+ Нагружает сервер меньше чем SetTimer
+ На данный момент самый точный способ использования таймеров
- Может работать только с таймерами где число секунд - целое число. 30 секунд, 21 секунда, 1 минута, 2 часа и т.п. (1.5 секунды, 0.4 и т.д. не будут работать)
Чтобы таймеры на этой функции работали, нужно создать всего лишь один таймер на 250 мс. Он не будет нагружать сервер, можете не волноваться. Вот пример создания:
В public OnGameModeInit
Если увеличить 250, то можно ещё больше снизить нагрузку, взамен точности. Решать вам, что важнее.
В конец мода:
Давайте попробуем создать 2 типа таймеров. Глобальный и для определённого игрока.
Глобальный таймер:
Ко всем глобальным переменным:
В public OnGameModeInit
В public UpdateTimers
Таймер для игрока:
В public OnPlayerConnect
В public UpdateTimers
Ниже приведены тесты точности различных способов реализации таймеров. Тесты проводились на повторяющемся минутном таймере.
Стандартный способ:
1 выполнение - отклонение 4746 мс
2 выполнение - отклонение 4787 мс
3 выполнение - отклонение 4920 мс
Способ на gettime:
1 выполнение - отклонение 163 мс
2 выполнение - отклонение 188 мс
3 выполнение - отклонение 5 мс
Автор: Неизвестен.



Сообщений: 2 488
Регистрация:
Skype: None
