Neler yeni

Foruma hoşgeldin 👋, Ziyaretçi

Forum içeriğine ve tüm hizmetlerimize erişim sağlamak için foruma kayıt olmalı ya da giriş yapmalısınız. Foruma üye olmak tamamen ücretsizdir.

FiveM FiveM OneSync Performans Rehberi: Scope, Culling ve State Bag Kullanımı

FiveM içeriği.
Discord greatking
Katılım
12 Yıl 9 Ay 27 Gün
Mesajlar
494
Tepkime puanı
416
Puanları
63
Yaş
38
Cinsiyetiniz
Bay
Şube
Bursa
Kalabalık FiveM sunucularında performans sorunu sadece oyuncunun FPS ayarlarından kaynaklanmaz. OneSync, scope, culling ve state bag kullanımı doğru anlaşılmadığında sunucu tarafında gereksiz senkronizasyon yükü oluşabilir.

OneSync Neyi Çözer?​


OneSync, GTA Online altyapısı üzerine kurulu özel senkronizasyon sistemiyle daha fazla oyuncunun aynı sunucuda oynayabilmesini sağlar. Bunu yaparken her oyuncuya her şeyi sürekli göndermek yerine, oyuncunun yakın çevresindeki varlıklara odaklanan bir yapı kullanır.

Culling Neden Önemli?​


Culling mantığı basitçe şunu hedefler: Oyuncunun hemen çevresinde olmayan gereksiz veri istemciye gönderilmesin. Bu, özellikle çok oyunculu RP sunucularında araç, ped, oyuncu ve obje senkronizasyonu büyüdükçe daha önemli hale gelir.

  • Her oyuncuya tüm dünya bilgisini göndermek yerine yakın alan önceliklendirilir.
  • Scope dışındaki varlıklar istemcide oluşturulmayabilir veya güncellenmeyebilir.
  • Yanlış culling varsayımları bazı scriptlerde görünmeyen araç, geciken etkileşim veya hatalı event davranışına yol açabilir.

playerEnteredScope ve playerLeftScope Kullanırken Dikkat​


Bu event'ler ilk bakışta pratik görünür; fakat kalabalık alanda her giriş çıkış için tekrar tekrar tetiklenmeleri ciddi ölçekleme maliyeti oluşturabilir. Bu yüzden her küçük durum değişimini bu event'lere bağlamak yerine, gerçekten scope değişimi gerektiren durumlarda kullanmak daha sağlıklı olur.

Dikkat
Scope event'lerini oyuncu sayısı arttıkça büyüyen bir maliyet gibi düşün. 20-30 kişinin aynı bölgede olduğu RP sahnelerinde gereksiz handler kullanımı sunucu tarafında hissedilir yük oluşturabilir.

State Bag Ne Zaman Daha Mantıklı?​


State bag, entity, player veya global durum bilgisini daha düzenli taşımak için kullanılabilir. Örneğin oyuncunun görev durumu, aracın özel işaretleri veya belirli bir entity üzerindeki küçük durum bilgileri için event spam'i yerine state bag yaklaşımı daha temiz olabilir.

  • Sık değişmeyen ama istemcilerin bilmesi gereken durumlar için uygundur.
  • Aynı bilgiyi sürekli event ile göndermek yerine durum bazlı takip sağlar.
  • Değerleri fazla iç içe ve büyük yapılar halinde kullanmak iyi fikir değildir.
  • Gereksiz global state kullanımı da ayrı bir karmaşa yaratabilir.

Sunucu Sahipleri İçin Kısa Kontrol Listesi​


  • Kalabalık bölgelerde çalışan scriptleri profiler ile kontrol et.
  • Her oyuncu için dönen sürekli thread'leri azalt.
  • Scope event'lerini yalnız gerçekten gerektiğinde kullan.
  • Durum bilgisini state bag ile daha okunabilir hale getir.
  • Entity oluşturma ve silme işlerini mümkün olduğunca sunucu tarafında kontrollü yap.
  • Routing bucket kullanan sistemlerde oyuncu ve entity ayrımını net planla.

Resmi Doküman​


 

Tema özelleştirme sistemi

Bu menüden forum temasının bazı alanlarını kendinize özel olarak düzenleye bilirsiniz

  • Geniş / Dar görünüm

    Temanızı geniş yada dar olarak kullanmak için kullanabileceğiniz bir yapıyı kontrolünü sağlayabilirsiniz.

    Izgara görünümlü forum listesi

    Forum listesindeki düzeni ızgara yada sıradan listeleme tarzındaki yapının kontrolünü sağlayabilirsiniz.

    Resimli ızgara modu

    Izgara forum listesinde resimleri açıp/kapatabileceğiniz yapının kontrolünü sağlayabilirsiniz.

    Kenar çubuğunu kapat

    Kenar çubuğunu kapatarak forumdaki kalabalık görünümde kurtulabilirsiniz.

    Sabit kenar çubuğu

    Kenar çubuğunu sabitleyerek daha kullanışlı ve erişiminizi kolaylaştırabilirsiniz.

    Köşe kıvrımlarını kapat

    Blokların köşelerinde bulunan kıvrımları kapatıp/açarak zevkinize göre kullanabilirsiniz.

  • Zevkini yansıtan renk kombinasyonunu seç
    Arkaplan resimleri
    Renk geçişli arkaplanlar
Geri