Android Dinamik Performans Çerçevesi (ADPF), uygulamalarının performansını optimize etmek isteyen geliştiriciler için Google'ın sunduğu güçlü bir araçtır. ADPF, termal API'leri aracılığıyla cihazın termal durumuyla ilgili gerçek zamanlı bilgiler sağlar. Bu bilgiler daha sonra uygulamadaki grafik ayarlarını düzenlemek için kullanılır.
Arm, araştırma amacıyla oyun performansını optimize etmek için ADPF'nin nasıl kullanıldığını incelemek üzere Unreal Engine ve ADPF'yi kullanan bir demo geliştirdi.
ADPF, termal durumu izler ve grafik kalitesi oyun motorunda buna göre ayarlanır.
Geliştiricileri göz önünde bulundurarak, oyun deneyimini ve cihazın çok fazla güç tüketimini etkilemeden kullanıcıların oyunu daha uzun süre oynamasına olanak tanımak istiyoruz.
Başlamadan önce
Demoyu daha ayrıntılı olarak incelemeden önce ADPF ile ilgili resmi Google belgelerini vurgulamak önemlidir. Bu dokümanlar, ADPF'nin nasıl kullanılacağıyla ilgili ayrıntılı analizler ve rehberlik sunan paha biçilmez bir kaynaktır.
Ancak özelleştirilebilir öğrenmeyi tercih edenler için ADPF örnek deposunda, ADPF'nin Android uygulamalarına uygulanmasıyla ilgili pratik örnekler yer alır.
Grafik ayarları düzenleme
Unreal Engine bağlamında, performansı korumak için grafik ayarlarını dinamik olarak ayarlayabiliriz.
Termal kısıtlamayı izlemek için ADPF'de Termal Durum İzleyici'yi ve Termal Boşluk API'yi kullandık. Cihaz yavaşlamaya başladığında gölge kalitesi, yansıma kalitesi ve doku kalitesi gibi kalite ayarlarını düzenleyebilirsiniz.
Unreal Engine'daki aşağıdaki grafik kalitesi ayarları, çeşitli ayarları değiştirmek için kullanılır:
- ViewDistanceQuality
- ShadowQuality
- GlobalIlluminationQuality
- ReflectionQuality
- AntiAliasingQuality
- DokuKalitesi
- VisualEffectQuality
- PostProcessingQuality
- FoliageQuality
- ShadingQuality
- OverallScalabilityLevel
Gerçek koşullarda test etme
Arm, mobil grafikler ve oyun teknolojilerini araştırmak için kullanılan kendi demo oyunlarımızı oluşturur. Bu yıl, ADPF'yi bunlardan biri olan SteelArms demosunda test ettik.
SteelArms, farklı grafik yoğunluk seviyelerine ve önemli bir CPU iş yüküne sahiptir. Modern mobil oyunlara benzeyecek şekilde tasarlandığından, günümüzün mobil telefonlarındaki oyun davranışını modelleyebiliriz. Ayrıca, farklı teknolojilerin Arm tabanlı mobil cihazlardaki bir oyunda nasıl çalışabileceğini test etmemizi sağlar.
Sonuçlar
Önceki resimlerde, ADPF grafik ayarlarını düzenlemek için etkinleştirildiğinde en iyi (Sinema) kalite ile en düşük (Düşük) kalite arasındaki fark gösterilmektedir. Bu değişiklik kademeli olarak gerçekleşir ve oyun sırasında kullanıcılar tarafından fark edilmez.
Sol tarafta (Mavi Robot) en yüksek grafik ayarlarının, sağ tarafta (Kırmızı Robot) ise en düşük grafik ayarlarının gösterildiği bölünmüş ekran görünümü.
Önceki 3. ve 4. şekillerde, robotun aynı görünümü yan yana görülebilir. Daha yakından bakıldığında, ADPF kullanılarak ayarlanan grafik ayarları görülebilir. Ringin tabanına, robotun omzuna, ringin iplerine ve kalabalığa dikkat edin. Hepsi biraz daha düşük kalitede görünüyor. Bu, ADPF kullanılarak yapıldı.
Daraltma işlemi yaklaştığında bu efektler SteelArms demosunda küçültüldü. Son işleme ve görsel efektlerde bu küçük düşüşleri tespit etmek zordur. Ayrıca kullanıcılar genellikle oyun oynarken bu reklamları fark etmez. Bu sayede, oyun deneyiminde herhangi bir kesinti yaşamadan oyunun görsel deneyiminin büyük bir kısmını koruyabilirsiniz. Tüm bunları yaparken oyununuzun güç performansını ve cihazınızın pil ömrünü koruyabilirsiniz.
Daha önce de belirtildiği gibi, açıklama amacıyla en yüksek kalite ayarlarına sahip resimleri en düşük kalite ayarlarına sahip resimlerle karşılaştırıyoruz. Bu nedenle, dikkatli bir şekilde bakıldığında fark görülebilir. Ancak oyun sırasında ölçek küçültüldüğünde, kararlı bir oyun deneyimi sunulurken kullanıcı tarafından neredeyse fark edilmez.
Sonuçlar
Cihaz aşırı ısınmayı önler ve 1,0 termal marj içinde kalır.
Güç Tüketimi
ADPF sonuçları
ADPF'nin kapalı ve açık olmasıyla ilgili sonuçları daha önce gösterilen şekillerde görebilirsiniz. Oyunun kare hızında ve çekirdeklerin güç tüketiminde fark olduğunu gösterir. ADPF etkinken kare hızında% 57'ye varan bir iyileşme görülebilir. ADPF kapalıyken GPU önemli miktarda güç tüketir. Ardından büyük CPU çekirdeğinde, GPU iş yüküyle tutarlı güç sıçramaları olur. Bu nedenle, istenilen işlem miktarını yakalamaya çalışır. Buna karşılık, ADPF etkinken büyük CPU çekirdeği, kısıtlamaya yanıt verir ve cihazdaki tüm çekirdeklerin toplam güç tüketimini düşürür.
Sonuç
ADPF, oyunların güç tüketimini önemli ölçüde iyileştirebilir. Bu da oyunseverler için daha uzun oyun süreleri, daha iyi pil ömrü ve kullanılan cihazın daha düşük sıcaklığı anlamına gelir. Geliştirici açısından ADPF, oyunun doğru kare hızını korur. Bu sayede kullanıcılara kalite ayarlarını düşürme esnekliği sunarken aynı zamanda mükemmel bir oyun deneyimi sunabilirsiniz.
ADPF'den hem yeni hem de eski cihazlar yararlanabilir. Bu sayede oyunlar, ek optimizasyon çalışması gerekmeden önceki nesil cihazlarda yüksek standartlarda çalışabilir.