Throttle и Debounce
Наш плагин предоставляет вам доступ к двум особым условиям: "Не чаще чем раз в Х секунд" и "Отложить на Х секунд".
Из-за ограничений визуального программирования в Construct 3 - данные условия реализованы через "ложные циклы", поэтому вы можете заметить логотип цикла слева от названия.
Однако, это именно условия, а не циклы.
Если вы предпочитаете использовать JavaScript, то вы можете ознакомиться со статьями: Debounce на примере формы поиска и Throttle на примере изменения страницы при прокрутке.
Throttle, чтобы спрятать медленный код
Иногда бывает, что какая-то часть игры может сильно влиять на общую прои зводительность. Например, обработка физики или искусственного интеллекта.
Из-за сложности подобных вычислений, лучше избегать их использования слишком часто. Для
таких случаев обычно используют , чтобы запускать код раз в некоторое, но это не
всегда возможно.
Вдруг у нас есть какая-то сложная игровая механика, которая выполняется при нажатии на
экран? В таких ситуациях, когда надо ограничить частоту выполнения кода, но вы не можете
использовать таймер, вы можете воспользоваться особым условием .
Не рекомендуется использовать каждый тик, это не повлечёт за собой никаких
последствий, но вместо этого лучше использовать
.

Debounce, чтобы не стать DDoS'ером
Некоторые методы SDK Яндекс.Игр имеют ограничение на количество запросов в определённое время. Если вы будете пренебрегать этими ограничениями, то ваша игра может не пройти модерацию.
Например, если вы слишком часто обновляете счёт в таблице лидеров, то вам стоит
использовать особое условие .
Однако, его можно спутать с предыдущим условием , ведь мы его тоже
использовали, чтобы спрятать код, который не должен вызываться слишком часто, так в чём же
разница?
Основное их различие в том, что ограничивает частоту вызова, а
откладывает вызов функции на определённое время, а это именно то, что нам нужно, ведь нам,
в случае с отправкой счёта в таблицу, не обязательно выполнять функцию в слишком часто,
нам лишь нужно не превышать ограничение.
Визуализация разницы между и
: