Deneyiminizi optimize edin

*Bu içerik, yapay zekâ (beta) kullanılarak çevrildi ve hatalar içerebilir. Sayfayı İngilizce görüntülemek için buraya tıkla.


Deneyiminizi optimize etmek , kısıtlı bellek ve grafik işlem birimi (GPU) sınırlarına sahip cihazlar için çerçeve oranı ve performans seviyelerini yüksek tutmak için varlıklarınızı ve Studio ayarlarını yapılandırma sürecidir.Bu süreç, hemen hemen her kullanıcının çevrenizi görürken aynı oyun deneyimi ve görsel deneyime sahip olduğundan emin olur.

Çevre Sanatı Kullanma - Optimize Etme.rbxl dosyasını bir referans olarak kullanarak, bu bölüm çevresel sanat kursunun, yönlendirme dahil olmak üzere optimal grafikler için yer dosyanızı nasıl inceleyeceğinizi ve yapılandıracağınızı gösterir:

  • Hafıza ve motor sözleşme imzalamakoruduklarını onaylamak için her bir varlığın fiziği ve görüntüleme parametlerini incelemek.
  • Roblox Motorunun varlıklarınızı görselleştirmek için yapması gereken hesap miktarını gereksiz yere artıran fazla dokunma dokusu, geometri veya saydamlıkları toplayın.

Roblox Motoru, sizin için çoğu optimizasyon çalışmasını yürütürken, belirli çerçevelerin renderlenmesi için daha fazla süre gerektiği yerleri görmek için Mikro profilleyici kullanarak bu optimizasyon çabalarına yardımcı olabilirsiniz.Bu bilgileri kullanarak, hangi varlıkların parametrelere veya fazla içeriğe dikkat gerektirdiğine dair bilgilendirilmiş kararlar verebilirsiniz.

Fiziği ve render parametlerini incele

In Bir varlık kütüphanesi topla , öğrendiniz varlıkların yüksek görsel kalitesini korumasına izin veren fizik ve renderleme parametlerini ayarlamanın cihazlardaki hafıza ve GPU sınırlarıyla nasıl önemli olduğunu.Ancak, çevrenizi yapılandırarak bu parametleri deneyiminizde bir varlığın kontekst pozisyonu ve amacına göre ayarlayabilirsiniz.Örneğin, son örnek lazer etiket çevresindeki yaprakların çoğu, gerçekçiliğe katkıda bulunduğu için performans maliyetine rağmen gölgeliyor çünkü çevreye gerçekçilik katıyor.

Fizik ve renderleme parametlerini değiştirdiğinizde, geliştirme sürecinin sonuna doğru tüm parametleri incelemek için yararlıdır, böylece bir parametreyi estetik hedefler ve oyun gereksinimlerini koruyarak optimize edebilirsiniz.Göstermek için, oyun alanının kenarlarındaki yapraklar için BasePart.CastShadow özelliğini devre dışı bırakarak oyun performansını koruyabilir ve bir kullanıcının oyun deneyimine veya görsel deneyimine müdahale etmeden performansı kaydedebilirsiniz.

An outdoor view of the sample laser tag experience that casts shadows.

BasePart.CastShadow = Devre dışı bırakıldı
>

An outdoor view of the sample laser tag experience that doesn't cast shadows. There is almost no difference in this view, but it improves performance.

BasePart.CastShadow = Etkinleştirildi
>

Gereksiz içeriği kaldır

Fiziğinizi ve görüntüleme parametlerinizi inceledikten sonra, oynanışoynayışınızı etkilemeyen herhangi bir gereksiz içeriği deneyimden görebilmek için kaynakların kendisini inceleyebilirsiniz, örneğin farklı varlık kimliklerine sahip benzer dokular, yüksek bir zirve sayısına sahip karmaşık bir geometri veya kamera görüşüne bağlı olarak birbirinin üzerine yerleşen transparanlar.Aşağıdaki bölümler, bu içeriği incelemek için yapabileceğiniz şeyleri ve neden optimizasyon çabalarına yardımcı olduğunu açıklar.

Aynı dokuları kaldır

Varlıklarınızı geliştirmek ve çevrenizi inşa etmek arasında geçiş yaparken, estetik hedefleriniz veya oyun gereksinimleriniz için gerekli olanı bulduğunuzda meshe veya dokular üzerinde döngü yapmak yaygındır.Varlıklarınızı paketlere dönüştürmediyseniz, bu itterasyonları Studio'ya aktardığınızda, Roblox Motoru'nun varlıklarınızı çevre içinde görüntülerken referans olarak ihtiyaç duyacağı benzersiz varlık kimlikleri oluşturuyorsunuz.

Örneğin, aynı görünümde olmalarına rağmen, sonraki iki yangın musluğu meshesini Studio'ya ayrı ayrı ithal ederseniz, Roblox Motoru onları benzersiz varlık kimliklerine sahip iki nesne olarak ele alır.Motora yapılması gereken daha eşsiz çağrılar, hafızaya ve sözleşme imzalamadaha fazla etki eder.Bu nedenle, bir varlığı birden fazla kez yeniden kullandığınızda, bu varlığın her bir örneği aynı varlık kimliğini kullanır, böylece motorun sadece tekrar tekrar görüntülemek için tek bir çağrı yapması gerekir.

Two of the exact same fire hydrant with unique assetIDs. There is no visual difference but the duplicate assetIDs negatively impacts performance.

Coğrafyayı optimize et

Cihazlar arasındaki çerçeve oranını artırmak için daha fazla ayar yapmanız gerektiğini düşündüğünüzde, geometrinizi optimize edebileceğiniz yeri görmek yararlıdır:

  • Birden fazla meshe grubunu tek bir varlığa birleştirme.
  • Geometrik karmaşıklıkla varlıkların poligon sayısını azaltmak.

Bu ilk tekniği genişletmek, deneyiminizdeki her benzersiz varlık, Roblox Motorunun varlığı doğru bir şekilde görüntülemesi için GPU'ya bir sinyal göndermek üzere bir çekme çağrısını temsil eder. GPU'ya bilgi çağırmak için.Sahip olduğunuz daha eşsiz varlıklar, sistemin yapması gereken çekme çağrılarının sayısını artırır.Bu nedenle, deneyiminizde daha büyük bir bileşeni oluşturan bir grup meshe sahipseniz, çoklu çekme çağrısına ihtiyacı azaltmak için üçüncü taraf modellama araçlarında bunları bir araya getirebilirsiniz.

Bu noktayı göstermek için, son örnek lazer etiketi çevreleri inşa etmedışındaki büyük kuleleri oluşturmak için birden fazla parçayı ve çizgileri bir araya getirir.Tüm bu bileşenleri bir araya getirirseniz, sadece bir varlıkID ile tek bir varlık haline getirebilir ve çekme çağrılarının sayısını 8'den 1'e azaltabilirsiniz.Ancak, bu tekniğin her bir bileşenin görsel ve fiziksel özelliklerini özgürce değiştirme yeteneğini kaldırdığını unutmamak önemlidir, örneğin konumu veya malzemesi.

Örneğin, aşağıdaki resimde, sol kule bir Model nesnesinin altında çok sayıda varlık kalır ve sağ kule bir tek varlıktır.Sol kuledeki her bileşeni ayrı ayrı değiştirebilirsiniz, ancak sağ kuleyi değiştirirken, örneğin rengini siyaha değiştirerek, nesnenin bütününü etkiler.Bu nedenle, estetik hedeflerinizi etkilemeden performansı artırabileceğiniz yeri bildiğinizde sadece bu tekniği çevrenizin gelişiminin sonuna yakın düşünmek önemlidir.

A front view of the two towers. The tower on the left includes multiple assets under a single model, while the tower on the right decreases the amount of assets by removing all texture objects.

İkinci tekniğe genişleyerek, geometrik karmaşıklığa sahip varlıkların daha fazla poligonu var, yani görsel görünümlerini renderlediğinde motorun hesaplaması gereken daha fazla zirve var.Bu, daha az karmaşıklık ve sadakat sahibi varlıkların görüntülenmesi için daha az maliyetli olduğu, dolayısıyla hem performans hem de hafıza için bir gelişme sağladığı anlamına gelir.

Katmanlı transparanları silme

Çevreye gerçekçilik hisi vermek için, son örnek lazer etiket ortamı, dış mekanda yapraklar, fütüristik işaret veya döşeme rayındaki cam gibi farklı seviyelerde çok sayıda çizimi içeriyor.Kamera, önünde veya arkada birbirine göre bulunan çok sayıda yarı saydam nesneyi görüntülediğinde, Roblox Motoru saydam alanları hesaba katmak için örtüşen pikselleri birden çok kez renderlemelidir.Bu süreç yüksek saydamlık aşırı yükleme olarak adlandırılır ve sözleşme imzalamaüzerinde önemli bir etkiye sahiptir.

Örneğin, örnek çevrede bir ekici için aşağıdaki görüşü düşünün.Motor, bitkilerin kameraya en yakın olanları arasındaki saydam alanları, katmanlar halinde dış alana en yakın bitkiye yüzlerce binlerce aşırı piksel eşit ederek göstermelidir.Bu etkiden bazılarını hafifletmek için, çevrenizdeki tüm yarı saydam nesnelerin düzenini incelemek ve özellikle büyük ekran alanlarında çok fazla yer olmadığından emin olmak önemlidir.

A Rthro avatar facing a planter with multiple plants with transparency between the leaves.
A side view of the Rthro avatar facing a planter with multiple plants with transparency between the leaves, and example layers of overdrawn pixels are highlighted to show where there is overdrawn in the environment.

Tüm içeriğinizin optimize edildiğinden emin olmak için tümünü incelemeyi bitirdiğinizde, deneyim artık yayın için hazır!