Throttle и Debounce

Плагин предоставляет доступ к двум особым условиям: Не чаще чем раз в <X> секунд и На отложенное событие.

Если вы предпочитаете использовать JavaScript, то вы можете ознакомиться со статьями: Debounce на примере формы поиска и Throttle на примере изменения страницы при прокрутке.

Throttle

Иногда бывает, что какая-то часть игры может сильно влиять на общую производительность. Например, обработка физики или искусственного интеллекта.

Из-за сложности подобных вычислений, лучше избегать их использования слишком часто. Для таких случаев обычно используют Каждые <X> секунд, чтобы запускать код раз в некоторое, но это не всегда возможно.

Вдруг у нас есть какая-то сложная игровая механика, которая выполняется при нажатии на экран? В таких ситуациях, когда надо ограничить частоту выполнения кода, но вы не можете использовать таймер, вы можете воспользоваться особым условием Не чаще чем раз в <X> секунд.

Важно

Не рекомендуется использовать Не чаще чем раз в <X> секунд каждый тик, это не повлечет за собой никаких последствий, но вместо этого лучше использовать Каждые <X> секунд.

Debounce

Некоторые методы SDK Яндекс Игр имеют ограничение на количество запросов в определенное время. Если вы будете пренебрегать этими ограничениями, то ваша игра может не пройти модерацию.

Например, если вы слишком часто обновляете счет в лидерборде, то вам стоит использовать особое условие На отложенное событие в связке с триггерным условием Отложить выполнение. Эта связка работает по аналогии с нативной связкой СигналПри получении сигнала, но откладывает вызов на определенное время с момента последней попытки выполнения.

Однако, его можно спутать с предыдущим условием Не чаще чем раз в <X> секунд, ведь мы его тоже использовали, чтобы спрятать код, который не должен вызываться слишком часто, так в чем же разница?

Основное их различие в том, что Не чаще чем раз в <X> секунд ограничивает частоту вызова, а На отложенное событие откладывает вызов функции на определенное время, а это именно то, что нам нужно, ведь нам, в случае с отправкой счета в таблицу, не обязательно выполнять функцию в слишком часто, нам лишь нужно не превышать ограничение.

Визуализация разницы между Не чаще чем раз в <X> секунд и На отложенное событие:


Примечание

Если при работе с плагином вы столкнулись с проблемой или у вас появился вопрос, обратитесь в сообщество в Телеграме.

Репозиторий
Предыдущая
Следующая