Throttle ve Debounce
Eklenti, Not more than once in <X> seconds ve On a deferred event adlı iki özel koşula erişim sağlar.
Eğer JavaScript kullanmayı tercih ederseniz, aşağıdaki makalelere göz atabilirsiniz: Arama forması örneğinde Debounce ve Sayfa kaydırma örneğinde Throttle.
Throttle
Bazen oyunun bir kısmı performansı ciddi şekilde etkileyebilir. Örneğin, fizik veya yapay zeka işleme.
Bu tür hesaplamaların karmaşıklığı nedeniyle bunları çok sık kullanmaktan kaçınmak daha iyidir. Bu gibi durumlarda, kodu belirli aralıklarla çalıştırmak için genellikle Every <X> seconds kullanılır, ancak bu her zaman mümkün değildir.
Örneğin, ekrana dokunulduğunda çalışan karmaşık bir oyun mekaniğimiz var. Kodun çalışma sıklığını sınırlamanız gerektiğinde ancak zamanlayıcı kullanamadığınız durumlarda, özel Not more than once in <X> seconds koşulunu kullanabilirsiniz.
Önemli
Not more than once in <X> seconds her tick'te kullanılması önerilmez; bu herhangi bir sonuç doğurmaz, ancak bunun yerine Every <X> seconds kullanmak daha iyidir.

Debounce
Yandex Oyun SDK'sının bazı yöntemlerinin belirli bir süre içindeki istek sayısına ilişkin sınırlamaları vardır. Bu sınırlamaları göz ardı ederseniz, oyununuz moderasyondan geçemeyebilir.
Örneğin, lider tablosundaki puanı çok sık güncelliyorsanız, On a deferred event özel koşulunu Delay execution tetikleyici koşuluyla birlikte kullanmalısınız. Bu kombinasyon, yerel Signal → On signal kombinasyonuyla aynı şekilde çalışır, ancak çağrıyı son yürütme denemesinden itibaren belirli bir süre erteler.
Ancak, bunu önceki Not more than once in <X> seconds koşuluyla karıştırabilirsiniz, çünkü biz de çok sık çağrılmaması gereken kodu gizlemek için onu kullanmıştık.
Temel farkları, Not more than once in <X> seconds çağrı sıklığını sınırlarken, On a deferred event fonksiyon çağrısını belirli bir süre ertelemesidir. Bu tam da ihtiyacımız olan şey, çünkü fonksiyonu çok sık çalıştırmamız gerekmiyor, sadece sınırı aşmamamız gerekiyor.
Not more than once in <X> seconds ve On a deferred event arasındaki farkın görselleştirilmesi: