Android Performance Tuner'a (Unity) genel bakış

Bu kılavuzda, Unity 2017.4 veya sonraki sürümlerden kare süresi verilerini kaydetmek ve yüklemek için Unity eklentisinin nasıl kullanılacağı açıklanmaktadır.

C veya C++ kullanan oyun motorları için yerel oyun motorları kılavuzuna bakın.

Arka plan

Oluşturma performansı, oyun deneyiminin temel bir bileşenidir. Oluşturma performansı aşağıdaki iki girişin sonucudur:

  • Kare hızı: Bir karenin çizilme sıklığı.
  • Grafik kalite ayarları: Simülasyonun doğruluk düzeyi ve grafikler dahil, bir karenin gösterildiği doğruluk düzeyi.

Oyunlarda iyi oluşturma performansı aşağıdaki şekilde tanımlanır:

  • Kararlı ve tutarlı bir kare hızı (yani, istenen sıklıkta oluşturulan karelerin yüzdesi) sunma.
  • Kareleri mümkün olan en yüksek sıklıkta, yani kararlılığı korurken oluşturma. Oyun türüne bağlı olarak genellikle 30 veya 60 FPS.
  • Ekran boyutu ve yoğunluğu düşünüldüğünde bir kullanıcı için ayrıntı düzeyini en üst düzeye çıkarırken, istenen ve sabit bir kare hızına ulaşmaya devam etme.

Android Frame Pacing kitaplığı kare süresindeki varyasyonların çoğunu sınırlayarak oyunlar için sabit bir kare hızı sağlar. Kare sürelerinde kalan varyasyon, oyundaki belirli sahnelerde gösterilen ayrıntı düzeyi ve cihazın grafik özelliklerinden kaynaklanır. Android Performance Tuner'ı kullanarak oyun sırasında kare süresinin hedefinizden daha yavaş veya hızlı olduğu zamanları belirleyebilir ve bu sorunlar ile fırsatları şunlarla ilişkilendirebilirsiniz:

  • Belirli kalite ayarları
  • Oyununuzdaki belirli sahneler
  • Belirli cihaz modelleri veya cihaz özellikleri

Verileri kaydedin ve yükleyin

Tuning Fork kitaplığı, onay işlevlerinden birinin Android Frame Pacing kitaplığı tarafından (veya Frame Pacing Kitaplığı'nın bulunmadığı eski Unity sürümleri için Unity motoru tarafından) her karenin çağrılmasına dayanır. Kitaplıkta bu onay işareti bilgileri histogramlar halinde toplanır, daha sonra bunlar düzenli aralıklarla bir HTTP uç noktası üzerinden Google Play'e yüklenir. Her onay işareti, bir araç anahtarı ve bir ek açıklamayla ilişkilendirilmiş olarak kaydedilir. Ek açıklamaları Unity eklentisini kullanarak tanımlarsınız.

Enstrüman tuşları

Araç anahtarı, onay işaretinin çerçevenin neresinden geldiğini ve her onay işlevi çağrısına iletilmesi gereken bir tam sayı olduğunu belirtir. Bu işlem Unity eklentisi tarafından otomatik olarak yapılır. Optimize Edilmiş Çerçeve İlerleme Hızı seçeneği, oyununuzun Unity ayarlarında etkinleştirilmişse (Unity 2019.3.14 veya sonraki sürümlerinde kullanılabilir) Android Performance Tuner, geliştirilmiş metrikleri raporlamak için Android Frame Pacing kitaplığındaki bilgileri kullanır.

Ek Açıklamalar

Ek açıklamalar, bir onay işareti kaydedildiğinde oyununuzun ne yaptığına dair bağlamsal bilgiler verir. Örneğin, bir ek açıklama aşağıdakilerden herhangi birini tanımlayabilir:

  • Oyundaki mevcut seviye
  • Belirli bir sahne yükleniyor
  • Ekranda bir "büyük patron" görünüyor
  • Oyun durumu ile ilgili diğer tüm bilgiler

Ek açıklamalar, Unity eklentisi tarafından sağlanan iletişim kutusunda tanımlanır.

Tuning Fork kitaplığı ek açıklamaları ve doğruluk parametrelerini depolamak için dahili olarak Google'ın protokol arabelleği biçimini kullanır. Bu, genişletilebilir ve yapılandırılmış veriler için iyi tanımlanmış, çok dilli bir protokoldür. Daha fazla bilgi için Protokol Arabelleği belgelerine bakın.

Doğruluk parametreleri

Doğruluk parametreleri, oyununuzun performansını ve grafik kalitesini (ör. örgü ayrıntı düzeyi, doku çözünürlüğü ve kenar yumuşatma yöntemi) etkiler. Ek açıklamalar gibi, doğruluk parametreleri de Unity eklentisi tarafından sağlanan bir iletişim kutusunda tanımlanır.

Bellek ve CPU ek yükü

Tuning Fork kitaplığının kullandığı tüm bellek oyun esnasında sürprizlerle karşılaşmamak için ilk kullanıma hazırlama aşamasında ayrıdır. Verilerin boyutu araç anahtarı sayısına, olası ek açıklama sayısına ve her histogramdaki paket sayısına bağlıdır. Her paket için bu dört baytın çarpımının katıdır. Ayrıca tüm histogramların, çift arabelleğe alınmış şekilde gönderilmesi için iki kopyası da vardır.

Gönderim ayrı bir ileti dizisinde gerçekleşir ve onay işareti aramaları engellenmez. Yükleme bağlantısı yoksa gönderim daha sonra yüklenmek üzere sıraya alınır.

Onay işlevini çağırmak için çok az bir işlem ek yükü olur. Bu işlem, sadece histogram paketleri dizisindeki bir dizini hesaplar ve bir tam sayı sayısını artırır.

Web istekleri

Kitaplık, sunucu uç noktasına iki tür istek gönderir:

  • İlk kullanıma hazırlama sırasında bir generateTuningParameters isteği
  • Oyun sırasında düzenli aralıklarla uploadTelemetry sunucuya veri gönderme isteği

Çevrimdışı oynatıcılar

Başlatma sırasında kullanılabilir bağlantı yoksa istek, artan geri yükleme süresiyle birkaç kez yeniden denenir. Yükleme sırasında bağlantı yoksa yükleme önbelleğe alınır. Yüklemeler, geçici depolamada dosya olarak depolanır.

Gereksinimler

Eklentiyi oyununuzda kullanmak için Unity'nin desteklenen bir sürümünü kullanın:

  • Unity 2017.4 veya sonraki sürümler ve .NET 4.6 sürümü
  • APK Genişletme dosyalarını kullanmak için Unity 2018.2 gerekir
  • İyileştirilmiş kare hızı ve GPU ölçümleri için Unity'nin 2019.3.14 veya sonraki bir sürümü gereklidir
  • Adreslenebilirler sahneleri desteği için Unity 2019.3 veya üzeri ve Addressables paketi 1.19.4 ya da sonraki sürümleri gereklidir.

Android Performance Tuner'ı Unity'ye entegre etme

Android Performance Tuner'ı Unity'de entegre etme hakkında bilgi edinmek için API'yi etkinleştirme bölümüne bakın.