Not
Bu sayfaya erişim yetkilendirme gerektiriyor. Oturum açmayı veya dizinleri değiştirmeyi deneyebilirsiniz.
Bu sayfaya erişim yetkilendirme gerektiriyor. Dizinleri değiştirmeyi deneyebilirsiniz.
Bu kılavuz, başlatma ve anahtar etkileşimleri için gecikme süresini iyileştirerek Windows uygulamanızın yanıt hızını iyileştirmenize yardımcı olur. Hızlı ve hızlı yanıt veren etkileşimler (düşük gecikmeli etkileşimler olarak da bilinir) daha iyi bir kullanıcı deneyimi oluşturur. Etkileşim beklentilerini anlamak, geçerli süreleri ölçmek ve etkileşim sınıfına bağlı olarak iyileştirme hedefleri belirlemek, kullanıcılarınızın deneyiminde ve memnuniyetinde önemli iyileştirmelere yol açabilir.
Duyarlı davranış için etkileşimleri iyileştirmeye yönelik adım adım kılavuz
Müşteriler bir uygulama başlatıldığında, menü gezintisinde veya sayfa/içerik yükünün yavaş olduğunu hissedebilir. Onlar hızlı ve sorunsuz bir deneyim bekliyor ve biz aşağıda bu beklentileri daha iyi anlamak için bazı adımlar ve rehberlik paylaştık.
Gecikme süresini iyileştirmeye yönelik temel adımlar şunlardır:
Senaryoyu tanımlayın ve TraceLogging olayları ekleyin.
Başlatma, menü açma, yeni bir sayfaya gitme ve içerik işleme gibi uygulamanızı kullanırken kullanıcının gerçekleştireceği önemli etkileşimlerin listesini oluşturun. Bu etkileşimlerin her biri için ölçüm ve analiz için kullanılacak bir başlangıç olayı ve durdurma olayı ekleyin. Windows için Olay İzleme'yi (ETW) kendi kendine açıklayan bir biçim olan TraceLogging'i ekleme hakkında daha fazla bilgi edinin.
Etkileşim sınıfına göre hedefler belirleyin.
Kullanıcıların, etkileşim türüne bağlı olarak bir uygulamanın performansı ve yanıt verme hızıyla ilgili farklı beklentileri vardır. Örneğin, bir uygulamanın ne kadar hızlı başlatıldığı ve bir sayfanın ne kadar hızlı yükleniyor olduğu. Kullanıcıların uygulamanızdaki önemli etkileşimleri tamamlaması için geçen kabul edilebilir süreyi düşünün. Bu, 200 milisaniye (ms) ile 5 saniye (sn) arasında değişebilir. Ardından her göreve ilişkili bir hedefe sahip bir etkileşim sınıfı etiketi atayın. Yanıt verme algısını geliştirmek için kullanıcı arabirimini (UI) nasıl dahil edebileceğinize ilişkin önerilerin yanı sıra birkaç temel yönerge aşağıdadır:
| Etkileşim sınıfı etiketi | Kullanıcı algısı | Gecikme aralığı | Örnekler | Önerilen Kullanıcı Arabirimi |
|---|---|---|---|---|
| Hızlı | En az fark edilebilir gecikme | 100 - 200 milisaniye | Uygulama çubuğunu açın ve sağ tıklama menüsünü açın. | |
| Etkileşimli | Hızlı, ancak hızlı değil | 300 - 500 ms | Bir uygulamadan çıkma, önbelleğe alınmış arama sonuçlarını görüntüleme | |
| Durdur | Hızlı değil, ancak duyarlı hissediyor | 500 ms - 1 sn | Farklı bir sayfaya gidin, uygulamayı askıya alınmış durumdan devam ettirin, web arama sonuçlarını görüntüleyin | Bu senaryo için geçen süreyi gizlemek amacıyla geçiş animasyonu (örneğin, yeni içerik uçurularak) kullanılabilir. |
| Beklemek | Senaryo için çalışma miktarı nedeniyle hızlı değil | 1 - 3 sn | Uygulamayı başlatma | İlerleme durumunu not etmek için dönen/bekleyen bir imleç kullanılabilir. Bu senaryo için geçen süreyi maske etmek için hem çıkış hem de giriş animasyonu (eski sayfayı uçurma, yeni sayfayı içeri uçurma) kullanılabilir. |
| Uzun süre bekleme | Artık yanıt vermiyor | 2 - 5 sn | Büyük uygulamalar başlatılırken (genişletilmiş açılış ekranı kullanma), HD video akışı başlatılırken | "Yükleme kullanıcı arabirimi gösterilir – mümkünse, kullanıcı için bir 'iptal' seçeneği ekleyin." Yükleme kullanıcı arabirimi Hızlı etkileşim sınıfında görünmelidir. Yükleme kullanıcı arabiriminin kalan yüzdeyi veya süreyi görüntülemesi gerekmez. |
| Esir | Uzun bir bekleme – kaçınılmaz uzun/karmaşık senaryolar için ayrılmıştır | 5 - 10 sn | Sisteme giriş | "Kullanıcı arabirimini yükleme" veya iletişim kutusu görüntülenir; mümkün olduğunda, kullanıcı için bir "iptal et" seçeneği ekleyin. İletişim kutusu Hızlı etkileşim sınıfında görünmelidir. Kullanıcıya yararlı bir bağlam sağlıyorsa, pencerede kalan bir yüzde veya süre görüntülenebilir. |
| Uzun Süreli | Uzun işlemler – kullanıcılar büyük olasılıkla birden çok görev yapacaktır (işlem sırasında geçiş yapacaktır) | 10 - 30 saniye ve üstü | Yeni özellikleri veya güncelleştirmeleri yükleme, büyük dosya indirmeleri | Kullanıcı arabirimi, birden çok görev yapma olasılığını yansıtacak şekilde tasarlanmalıdır. Tamamlanma tahmini (yüzde, kalan süre vb.) dahil olmak üzere bir ilerleme durumu iletişim kutusu görüntülenmelidir. Alternatif olarak, kullanıcı arabirimi tamamen simge durumuna küçültülüp yalnızca bir "toast" bildirim kullanılarak senaryo tamamlandığında kullanıcı bilgilendirilebilir. |
Belirli etkileşimlerin tam sürelerini denetlemek için Windows Performans Çözümleyicisi'ni (WPA) kullanarak bir izleme yakalayabilir ve analiz edebilirsiniz.
İzleme yapmadan önce Görev Yöneticisi'ni açarak ve CPU kullanımının yüzde 5'ten az olduğundan emin olarak test cihazınızın boşta durmasını sağlayın. Bunun yapılması, ölçüm etkileşimini en aza indirir ve makul boyutlu izler sağlar. Bu, ölçmeyi hedeflediğiniz etkileşimi daha iyi yalıtmanıza yardımcı olur.
İzleme yakalamak için yönetici modunda bir komut satırı (PowerShell veya Komut İstemi) açın.
Komutunu girin:
wpr -start GeneralProfile -filemodeUygulamanızda etkileşim senaryosunu çalıştırın.
Komutunu girin:
wpr -stop Trace.etl
İzlemeyi analiz edin ve geliştirme fırsatlarını bulun.
Az önce Windows Performans Çözümleyicisi'nde (WPA) yakaladığınız izlemeyi açarak uygulamanız tarafından desteklenen her anahtar etkileşiminin süresini analiz edin.
- İzlemeyi WPA'da açmak için komut satırınıza şunu girin:
wpa.exe Trace.etl - Sistem Etkinliği açılan listesini genişletin ve analiz görünümünü açmak için "Genel Olaylar"a çift tıklayın.
- Uygulamanızla ilgili olay serisini seçin ve anahtar etkileşimle ilişkili İşlem, Görev Adı ve Olay Adını bulana kadar "Sağlayıcı Adı" açılır listesini genişletin. Etkileşim olayının süresi Zaman sütununda ve süre, Başlangıç Saati ve Bitiş Saati'nigösteren grafikte listelenir.
İzlemenizin süresi etkileşim sınıfı hedeflerine (örn. 500ms) ulaşmıyorsa, Uygulamanızın anahtar iş parçacıklarını (büyük olasılıkla UI iş parçacığı) tanımlayın ve CPU kullanımı ve bekleme süreleri için en üst yığınlara bakın. *Analizi gerçekleştirirken bazı sorunların kendi uygulamanızın koduna özgü olmayabileceğini unutmayın.
- İzlemeyi WPA'da açmak için komut satırınıza şunu girin:
Ek kaynaklar
Windows developer