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
Oyunun bazı bölümleri, genel performansa önemli ölçüde etki edebilir. Örneğin, fizik veya yapay zeka işlemleri.
Böyle karmaşık hesaplamalar nedeniyle, onları çok sık kullanmaktan kaçınmak daha iyidir. Böyle durumlarda genellikle Every <X> seconds kullanılır, böylece kod belirli bir süre sonra çalıştırılır, ancak her zaman mümkün değildir.
Eğer oyun mekanizması ekrana tıklanmasıyla gerçekleşen bir şey varsa, ne yapmalıyız? Böyle durumlarda, kodun çalışma sıklığını sınırlamak gerekir, ancak zamanlayıcı kullanamıyorsanız, özel bir koşul olan Not more than once in <X> seconds'yi kullanabilirsiniz.
Önemli
Not more than once in <X> seconds'yi her tick'ta kullanmak önerilmez, bu herhangi bir sonuca yol açmaz, ancak bunun yerine Every <X> seconds kullanmak daha iyidir.
Debounce
SDK'nın bazı yöntemleri, belirli bir süre içinde istek sayısına ilişkin kısıtlamalara sahiptir. Bu kısıtlamalara uymazsanız, oyununuz moderasyondan geçmeyebilir.
Örneğin, eğer lider tahtasındaki puanı çok sık güncelliyorsanız, On a deferred event adlı özel bir koşulu Delay execution tetikleme koşuluyla birlikte kullanmanız gerekir. Bu kombinasyon, yerel Signal → On signal çiftine benzer şekilde çalışır, ancak çağrıyı son yürütme denemesinden belirli bir süre erteleyecektir.
Ancak, bu koşul, önceki Not more than once in <X> seconds koşulu ile karıştırılabilir, çünkü onu da çok sık çağrılmaması gereken kodu gizlemek için kullandık, o zaman fark nerede?
Onlar arasındaki ana fark, 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 erteler, ve bu tam olarak bize gereken şeydir, çünkü puanı tabloya gönderme durumunda, fonksiyonu çok sık çalıştırmamız gerekmez, sadece sınıra uymamız yeterlidir.
Not more than once in <X> seconds ve On a deferred event arasındaki farkın görselleştirmesi: