Performans profili oluşturma ve ayarlama, bilimden çok sanata benzeyen karmaşık bir görevdir. Bir oyunda mükemmel şekilde senkronize edilmesi gereken birçok hareketli parça ve belirli bir sahnenin karmaşıklığı, sorunları anlamayı ve izole etmeyi zorlaştırabilir. ChromeOS'te birçok araç, ARM yonga setleri göz önünde bulundurularak tasarlanmıştır. Aşağıda, süreci hızlandırmanıza yardımcı olacak bazı ipuçları verilmiştir.
Oyununuzun performansını ChromeOS'te optimize ederken temel performans sorunlarının tüm cihazlarda ortak olduğunu ve iyileştirmelerin tüm kullanıcılar için performansı ve pil ömrünü olumlu etkileyeceğini unutmayın. ChromeOS, daha büyük ekranlar ve masaüstü giriş cihazları kullanma eğiliminde olduğundan belirli sorunları daha kolay ortaya çıkarabilir. Örneğin, verimsiz bir doku yükleme algoritması üst düzey mobil cihazlarda "iyi çalışabilir" ancak 4K ekranlı bir Chromebook'ta aynı performansı gösteremeyebilir. Algoritmanın iyileştirilmesi, oyunun tüm cihazlardaki performansını artırır.
Profil oluşturma konusunda yeniyseniz genel olarak şu yaklaşımı benimsemeniz önerilir:
- Performansın aşağıdakilerle sınırlı olup olmadığını belirleyin:
- CPU
- GPU
- Diğer: Giriş/Disk/Ağ
- Başlıca nedeni belirlemeye çalışın
- Optimizasyon yapmayı deneyin
- Tekrarlayın
Çoğu durumda oyunlar "CPU sınırlı" veya "GPU sınırlı" olarak gösterilir. Aşağıdaki profil oluşturma ipuçlarını ve araçlarını kullanarak sistemin her karede "zamanını nerede geçirdiğini" belirlemeye çalışın. Örneğin, GPU işlemeye başlamadan önce köşe noktalarının hesaplanması ve yüklenmesi uzun sürüyorsa oyununuz CPU'ya bağlı olabilir. Bunun yerine, çok sayıda ayrıntılı ve GPU tabanlı filtre kullanıyorsanız oyununuzun GPU'ya bağlı olması muhtemeldir. Birçok cep telefonunda ve ChromeOS cihazda ayrı bir grafik kartı olmadığını unutmayın. GPU filtrelerinin hızlı olduğunu varsayan bir masaüstü oyunu, entegre GPU'ların her sahneyi oluşturmasının çok uzun sürdüğünü görebilir.
Profillendirmeye nasıl yaklaşacağınız hakkında daha fazla bilgi için ARM'nin "Optimizasyon süreci" hakkındaki kılavuzuna göz atın.
Araçlar
Darboğazları kendi başınıza belirlemeniz mümkün olsa da doğru araçları kullanarak oyununuzun performansını daha kolay analiz edebilir ve doğru şeylere odaklandığınızdan emin olabilirsiniz. Piyasada birçok araç bulunmaktadır ancak en çok kullandığımız programlardan bazılarını aşağıda bulabilirsiniz.
Android Studio Profiler
Herhangi bir Android uygulamasında profil oluşturmaya başlamanın en kolay yolu, entegre Android Studio profil aracını kullanmaktır. Android Studio'da "Çalıştır"ı tıklamak yerine uygulamanızı çalıştırmak ve CPU, bellek ve ağ kullanımı hakkında gerçek zamanlı bilgi edinmek için "Profil oluştur"u seçmeniz yeterlidir. Basit CPU izleri, incelenecek kod alanlarını belirlemenin hızlı bir yolu olabilir.
Bu araç, GPU kullanımı veya her kare senkronizasyonu arasında neler olduğu hakkında gerçek bir fikir vermez. Bu nedenle, araç kutusunda bulunması iyi bir araç olsa da oyununuzun en yüksek performansta çalışmasını sağlamak için yeterli olmayabilir.
Snapdragon Profiler
Oyun davranışınız cihazlar arasında aynı olacağından ayrıntılı performans bilgileri edinmenin iyi bir yolu, Qualcomm tabanlı bir ARM telefonda Snapdragon Profiler'ı kullanmaktır. Bu, ChromeOS cihazda doğrudan profil oluşturma olmasa da oyununuzun her karede zamanının çoğunu nerede geçirdiği hakkında bilgi verir ve hangi GPU çağrılarının kullanıldığına dair fikir edinmenizi sağlar.
Örneğin, anizotropik GPU filtrelerinizde çok fazla zaman harcandığını ve bunun her karede yapılan işe hakim olduğunu görürseniz bu ayarı değiştirerek büyük performans artışları elde edebilirsiniz.
GPU sürelerinin kısa ve düzenli olduğunu ancak CPU sürelerinin baskın olduğunu ve kare senkronizasyonlarını kaçırmanıza neden olduğunu görüyorsanız doku yükleme/kare hazırlama algoritmalarınıza göz atın.
Daha fazla bilgi için resmi kullanım belgelerine bakın.
ARM Mobile Studio
Bir diğer yararlı ARM cihaz profil oluşturucu ise ARM Mobile Studio'dur. Bazı geliştiriciler Snapdragon Profiler'ı tercih edebilir ancak bu araç benzer şekillerde kullanılabilir. Resmi kullanım belgelerine bakın.
Android GPU Inspector
Android GPU Inspector, Google tarafından geliştirilen ve özellikle OpenGL ile Vulkan'da oyununuzdan en iyi performansı almanıza yardımcı olmak için tasarlanan yeni bir araçtır. Bu özellik şu anda geliştirici önizlemesi aşamasındadır ve kurulumu biraz zaman alabilir. Ayrıca, şu anda yalnızca birkaç cihazda çalışmaktadır. Gelecekte grafik profili oluşturma için kullanılacak başlıca araçlardan biri olacağı tahmin ediliyor. Resmi belgelere göz atın.
ARC'ye Genel Bakış İzleme
Yukarıdaki ARC Graphics Tracing aracına benzer şekilde çalışan daha genelleştirilmiş bir araç olan ARC Overview Tracing de vardır. Bu izleyici, bir uygulama ve ChromeOS performansı hakkında üst düzey metrikler sağlar. Okuma işlemleri, uygulamanın ve Chrome'un FPS'sini, CPU kullanımını, GPU kullanımını, güç tüketimini ve daha fazlasını gösterir. Aracı birden çok kez çalıştırabilir ve her çalıştırma için grafikleri, ayırt etmek amacıyla renklerle birlikte görebilirsiniz. Her izleme modeli, İndirilenler klasörünüze kaydedilir ve gelecekteki karşılaştırmalar için yeniden içe aktarılabilir. Genel uygulama durum denetimleri için ARC Overview Tracing iyi bir başlangıç noktasıdır.
Bu araca erişmek için ChromeOS'teki tarayıcıda chrome://arc-overview-tracing adresini ziyaret edin.
Sonraki adımlar
Bu nedenle, bazı darboğazlar bulmuş olabilirsiniz ancak bu konuda ne yapacağınızdan emin değilsinizdir. Veya bu sorunları bulup çözdünüz ancak sonraki adımınızın ne olması gerektiğinden emin değilsiniz. Aşağıda, Android ve motorla ilgili genel ipuçları ve kaynakların bir listesini derledik.
Genel ipuçları
Android Developers portalında uygulamanızın performansını artırmaya yönelik harika ipuçları yer almaktadır. Yükleme süresiyle ilgili dikkat edilmesi gereken noktalar, çoklu iş parçacığı kullanma, giriş gecikmesini ele alma ve daha fazlasını burada bulabilirsiniz.
Özellikle daha az güçlü makineleri hedefliyorsanız veya üst düzey mimarinin sınırlarını zorluyorsanız erken ve sık sık profil oluşturmayı unutmayın. Uygulamanızın performans istatistiklerini takip etmek, hangi değişikliklerin kare hızınızı düşürdüğünü ve hangi değişikliklerin hedeflediğiniz sorunsuz deneyimi korumanıza yardımcı olduğunu belirlemenize yardımcı olur.
Unity motoru
Unity, genel Android dokümanlarının yanı sıra motorunu kullanarak yüksek performanslı bir ChromeOS uygulaması oluşturmanıza yardımcı olacak ChromeOS'e özel dokümanlar da sunar. Başlangıç, giriş, hata ayıklama ve derleme (x86 derlemelerinin nasıl oluşturulacağı dahil) ile ilgili ChromeOS dokümanlarına göz atın. Performansla ilgili içerikleri için optimizasyonu anlama ve performans ve optimizasyon ile ilgili kurslarına göz atın.
ARM'nin Unity oyunlarında profil oluşturma ve optimizasyon ile ilgili kılavuzunu ve ilgili en iyi uygulamaları okuyabilirsiniz. Bu kılavuz, ARM Mobile Studio'nun bir parçası olan Streamline aracıyla Unity'de örnek bir oyunun profilini oluşturma sürecinde size yol gösterecektir.
Unreal Engine
Unreal, motorun sunduğu birçok seçeneği ve ayarı en iyi şekilde kullanmayı öğreten kendi performans yönergeleri ve ipuçları belgelerini yazmıştır. Burada, diğer önerilerin yanı sıra ayrıntı düzeyiyle ilgili ipuçları, ışıktan en iyi şekilde yararlanma, malzeme kalitesi ayarları ve gölgelendiricilerle ilgili adım adım kılavuzlar gibi bilgiler bulabilirsiniz.
Daha fazla grafik tabanlı optimizasyon için ARM, mobil oyunları optimize etme konusunda bir rehber hazırladı. Genel optimizasyon ipuçlarının yanı sıra Unreal'a özgü grafiklerle ilgili dikkat edilmesi gereken noktaları burada bulabilirsiniz.