WinScope Π½Π° Xiaomi: Ρ‡Ρ‚ΠΎ это Π·Π° трассировка, Π·Π°Ρ‡Π΅ΠΌ Π½ΡƒΠΆΠ½Π° ΠΈ ΠΊΠ°ΠΊ Π΅Ρ‘ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ

Если Π²Ρ‹ ΠΊΠΎΠ³Π΄Π°-Π½ΠΈΠ±ΡƒΠ΄ΡŒ ΡΡ‚Π°Π»ΠΊΠΈΠ²Π°Π»ΠΈΡΡŒ с зависаниями интСрфСйса Π½Π° смартфонах Xiaomi, Π·Π°ΠΌΠ΅Ρ‡Π°Π»ΠΈ подтормаТивания Π°Π½ΠΈΠΌΠ°Ρ†ΠΈΠΉ ΠΈΠ»ΠΈ ΠΏΡ‹Ρ‚Π°Π»ΠΈΡΡŒ ΠΎΠΏΡ‚ΠΈΠΌΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ кастомной ΠΏΡ€ΠΎΡˆΠΈΠ²ΠΊΠΈ, Ρ‚ΠΎ навСрняка Π½Π°Ρ‚Ρ‹ΠΊΠ°Π»ΠΈΡΡŒ Π½Π° упоминания ΠΎ трассировкС WinScope. Π­Ρ‚ΠΎΡ‚ инструмСнт, ΠΈΠ½Ρ‚Π΅Π³Ρ€ΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹ΠΉ Π² систСму MIUI ΠΈ HyperOS, позволяСт Ρ„ΠΈΠΊΡΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΠΈ Π°Π½Π°Π»ΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Ρ€Π°Π±ΠΎΡ‚Ρƒ графичСского стСка Android β€” ΠΎΡ‚ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ касаний Π΄ΠΎ Ρ€Π΅Π½Π΄Π΅Ρ€ΠΈΠ½Π³Π° ΠΊΠ°Π΄Ρ€ΠΎΠ² Π½Π° экранС. Но Ρ‡Ρ‚ΠΎ ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½ΠΎ скрываСтся Π·Π° этим Ρ‚Π΅Ρ€ΠΌΠΈΠ½ΠΎΠΌ ΠΈ ΠΊΠ°ΠΊ трассировка ΠΏΠΎΠΌΠΎΠ³Π°Π΅Ρ‚ Π΄ΠΈΠ°Π³Π½ΠΎΡΡ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΡ‹?

WinScope (ΠΈΠ»ΠΈ WindowManager ΠΈ SurfaceFlinger Scope) β€” это встроСнный Π² Android инструмСнт для сбора Π΄Π΅Ρ‚Π°Π»ΡŒΠ½Ρ‹Ρ… Π»ΠΎΠ³ΠΎΠ² ΠΎ взаимодСйствии ΠΌΠ΅ΠΆΠ΄Ρƒ прилоТСниями, систСмой ΠΈ графичСским процСссором. На устройствах Xiaomi ΠΎΠ½ активируСтся Ρ‡Π΅Ρ€Π΅Π· скрытыС настройки Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠ° ΠΈ Π³Π΅Π½Π΅Ρ€ΠΈΡ€ΡƒΠ΅Ρ‚ Ρ„Π°ΠΉΠ»Ρ‹ трассировки Π² Ρ„ΠΎΡ€ΠΌΠ°Ρ‚Π΅ .perfetto, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΏΠΎΡ‚ΠΎΠΌ ΠΌΠΎΠΆΠ½ΠΎ ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚ΡŒ Π² спСциализированных ΡƒΡ‚ΠΈΠ»ΠΈΡ‚Π°Ρ… Π²Ρ€ΠΎΠ΄Π΅ Perfetto UI ΠΈΠ»ΠΈ Android Studio Profiler. Π’Π°ΠΆΠ½ΠΎ ΠΏΠΎΠ½ΠΈΠΌΠ°Ρ‚ΡŒ, Ρ‡Ρ‚ΠΎ это Π½Π΅ просто "ΠΆΡƒΡ€Π½Π°Π» ошибок", Π° ΠΏΠΎΠ»Π½ΠΎΡ†Π΅Π½Π½Ρ‹ΠΉ Π°Π½Π°Π»ΠΈΠ·Π°Ρ‚ΠΎΡ€ ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ, ΠΏΠΎΠΊΠ°Π·Ρ‹Π²Π°ΡŽΡ‰ΠΈΠΉ, Π³Π΄Π΅ ΠΈΠΌΠ΅Π½Π½ΠΎ Π²ΠΎΠ·Π½ΠΈΠΊΠ°ΡŽΡ‚ Π·Π°Π΄Π΅Ρ€ΠΆΠΊΠΈ β€” Π±ΡƒΠ΄ΡŒ Ρ‚ΠΎ Π² ΠΊΠΎΠ΄Π΅ прилоТСния, Π΄Ρ€Π°ΠΉΠ²Π΅Ρ€Π°Ρ… дисплСя ΠΈΠ»ΠΈ систСмных сСрвисах.

Π’ этой ΡΡ‚Π°Ρ‚ΡŒΠ΅ ΠΌΡ‹ Ρ€Π°Π·Π±Π΅Ρ€Ρ‘ΠΌ:

  • πŸ” Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ WinScope ΠΈ ΠΊΠ°ΠΊ ΠΎΠ½ связан с SurfaceFlinger ΠΈ WindowManager Π² Android.
  • βš™οΈ Как Π²ΠΊΠ»ΡŽΡ‡ΠΈΡ‚ΡŒ трассировку Π½Π° смартфонах Xiaomi (Π²ΠΊΠ»ΡŽΡ‡Π°Ρ ΠΌΠΎΠ΄Π΅Π»ΠΈ Π½Π° HyperOS).
  • πŸ“Š КакиС Π΄Π°Π½Π½Ρ‹Π΅ собираСт инструмСнт ΠΈ ΠΊΠ°ΠΊ ΠΈΡ… ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½ΠΎ ΠΈΠ½Ρ‚Π΅Ρ€ΠΏΡ€Π΅Ρ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ.
  • ⚠️ Риски ΠΈ ограничСния ΠΏΡ€ΠΈ использовании трассировки Π½Π° повсСднСвном устройствС.

1. WinScope: Ρ‡Ρ‚ΠΎ это Π·Π° инструмСнт ΠΈ Π·Π°Ρ‡Π΅ΠΌ ΠΎΠ½ Π½ΡƒΠΆΠ΅Π½

WinScope β€” это Ρ‡Π°ΡΡ‚ΡŒ инфраструктуры трассировки Android, ΡΠΏΠ΅Ρ†ΠΈΠ°Π»ΠΈΠ·ΠΈΡ€ΡƒΡŽΡ‰Π°ΡΡΡ Π½Π° сборС Π΄Π°Π½Π½Ρ‹Ρ… ΠΎ Ρ€Π°Π±ΠΎΡ‚Π΅ Π΄Π²ΡƒΡ… ΠΊΠ»ΡŽΡ‡Π΅Π²Ρ‹Ρ… ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚ΠΎΠ²:

  • πŸ–₯️ SurfaceFlinger β€” систСмный сСрвис, ΠΎΡ‚Π²Π΅Ρ‡Π°ΡŽΡ‰ΠΈΠΉ Π·Π° ΠΊΠΎΠΌΠΏΠΎΠ·ΠΈΡ‚ΠΈΠ½Π³ (сборку) Ρ„ΠΈΠ½Π°Π»ΡŒΠ½ΠΎΠ³ΠΎ изобраТСния Π½Π° экранС ΠΈΠ· слоёв Ρ€Π°Π·Π½Ρ‹Ρ… ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ.
  • πŸͺŸ WindowManager β€” ΠΌΠ΅Π½Π΅Π΄ΠΆΠ΅Ρ€ ΠΎΠΊΠΎΠ½, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ управляСт ΠΈΡ… ΠΏΠΎΠ·ΠΈΡ†ΠΈΠΎΠ½ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ, Ρ€Π°Π·ΠΌΠ΅Ρ€Π°ΠΌΠΈ ΠΈ взаимодСйствиСм (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, пСрСтаскиваниСм ΠΈΠ»ΠΈ анимациями).

Когда Π²Ρ‹ Π²ΠΈΠ΄ΠΈΡ‚Π΅ Π½Π° экранС Xiaomi Π·Π°Π²ΠΈΡΡˆΡƒΡŽ Π°Π½ΠΈΠΌΠ°Ρ†ΠΈΡŽ, ΠΏΠΎΠ΄Ρ‚ΠΎΡ€ΠΌΠ°ΠΆΠΈΠ²Π°Π½ΠΈΠ΅ ΠΏΡ€ΠΈ скроллС ΠΈΠ»ΠΈ "Ρ€Π²Π°Π½Ρ‹Π΅" ΠΏΠ΅Ρ€Π΅Ρ…ΠΎΠ΄Ρ‹ ΠΌΠ΅ΠΆΠ΄Ρƒ прилоТСниями, ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠ° Ρ‡Π°Ρ‰Π΅ всСго кроСтся ΠΈΠΌΠ΅Π½Π½ΠΎ Π² этих Π΄Π²ΡƒΡ… ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚Π°Ρ…. WinScope фиксируСт:

  • πŸ•’ ВрСмя ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ ΠΊΠ°Π΄Ρ€Π° (frame time) ΠΈ Π·Π°Π΄Π΅Ρ€ΠΆΠΊΠΈ ΠΌΠ΅ΠΆΠ΄Ρƒ Π½ΠΈΠΌΠΈ.
  • πŸ”„ ΠŸΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ событий: ΠΊΠΎΠ³Π΄Π° ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ ΠΎΡ‚ΠΏΡ€Π°Π²ΠΈΠ»ΠΎ ΠΊΠΎΠΌΠ°Π½Π΄Ρƒ Π½Π° отрисовку, ΠΊΠΎΠ³Π΄Π° SurfaceFlinger Π΅Ρ‘ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΠ», ΠΈ ΠΊΠΎΠ³Π΄Π° ΠΊΠ°Π΄Ρ€finally появился Π½Π° экранС.
  • πŸ› οΈ Ошибки синхронизации ΠΌΠ΅ΠΆΠ΄Ρƒ CPU, GPU ΠΈ дисплССм (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, ΠΏΡ€ΠΎΠΏΡƒΡ‰Π΅Π½Π½Ρ‹Π΅ ΠΊΠ°Π΄Ρ€Ρ‹ ΠΈΠ·-Π·Π° ΠΏΠ΅Ρ€Π΅Π³Ρ€ΡƒΠ·ΠΊΠΈ процСссора).

Π­Ρ‚ΠΈ Π΄Π°Π½Π½Ρ‹Π΅ критичСски Π²Π°ΠΆΠ½Ρ‹ для:

  • πŸ“± Π Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΎΠ² ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ, ΠΎΠΏΡ‚ΠΈΠΌΠΈΠ·ΠΈΡ€ΡƒΡŽΡ‰ΠΈΡ… ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ своих ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌ Π½Π° Xiaomi.
  • πŸ”§ Π‘ΠΎΠ·Π΄Π°Ρ‚Π΅Π»Π΅ΠΉ кастомных ΠΏΡ€ΠΎΡˆΠΈΠ²ΠΎΠΊ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ хотят ΡƒΡΡ‚Ρ€Π°Π½ΠΈΡ‚ΡŒ Π»Π°Π³ΠΈ Π² MIUI ΠΈΠ»ΠΈ HyperOS.
  • πŸ› οΈ Π˜Π½ΠΆΠ΅Π½Π΅Ρ€ΠΎΠ² Xiaomi, Π΄ΠΈΠ°Π³Π½ΠΎΡΡ‚ΠΈΡ€ΡƒΡŽΡ‰ΠΈΡ… систСмныС Π±Π°Π³ΠΈ (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, Π² Π΄Ρ€Π°ΠΉΠ²Π΅Ρ€Π°Ρ… дисплСя).
⚠️ Π’Π½ΠΈΠΌΠ°Π½ΠΈΠ΅: WinScope Π½Π΅ замСняСт стандартныС Π»ΠΎΠ³ΠΈ Android (logcat). Он фокусируСтся ΠΈΡΠΊΠ»ΡŽΡ‡ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ Π½Π° графичСском стСкС, Ρ‚ΠΎΠ³Π΄Π° ΠΊΠ°ΠΊ logcat собираСт ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΡŽ ΠΎΠ±ΠΎ всСх систСмных событиях, Π²ΠΊΠ»ΡŽΡ‡Π°Ρ ошибки ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ ΠΈ ядра.
πŸ“Š Для Ρ‡Π΅Π³ΠΎ Π²Ρ‹ Ρ…ΠΎΡ‚ΠΈΡ‚Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ WinScope?
Диагностика Π»Π°Π³ΠΎΠ² Π² ΠΈΠ³Ρ€Π°Ρ…
ΠžΠΏΡ‚ΠΈΠΌΠΈΠ·Π°Ρ†ΠΈΡ кастомной ΠΏΡ€ΠΎΡˆΠΈΠ²ΠΊΠΈ
Π Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ° ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ
Π›ΡŽΠ±ΠΎΠΏΡ‹Ρ‚ΡΡ‚Π²ΠΎ/ΠΈΠ·ΡƒΡ‡Π΅Π½ΠΈΠ΅ Android
Π”Ρ€ΡƒΠ³ΠΎΠ΅

2. Как Π²ΠΊΠ»ΡŽΡ‡ΠΈΡ‚ΡŒ трассировку WinScope Π½Π° Xiaomi

Активация WinScope Π½Π° устройствах Xiaomi Ρ‚Ρ€Π΅Π±ΡƒΠ΅Ρ‚ доступа ΠΊ настройкам Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠ°. Если этот Ρ€Π°Π·Π΄Π΅Π» Π΅Ρ‰Ρ‘ Π½Π΅ Ρ€Π°Π·Π±Π»ΠΎΠΊΠΈΡ€ΠΎΠ²Π°Π½, сдСлайтС ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅Π΅:

  1. ΠŸΠ΅Ρ€Π΅ΠΉΠ΄ΠΈΡ‚Π΅ Π² Настройки β†’ О Ρ‚Π΅Π»Π΅Ρ„ΠΎΠ½Π΅.
  2. НайдитС ΠΏΡƒΠ½ΠΊΡ‚ ВСрсия MIUI (ΠΈΠ»ΠΈ ВСрсия HyperOS) ΠΈ Ρ‚Π°ΠΏΠ½ΠΈΡ‚Π΅ ΠΏΠΎ Π½Π΅ΠΌΡƒ 7 Ρ€Π°Π· подряд.
  3. Π’Π²Π΅Π΄ΠΈΡ‚Π΅ ΠΏΠ°Ρ€ΠΎΠ»ΡŒ ΠΎΡ‚ устройства, Ссли потрСбуСтся.

ПослС Π°ΠΊΡ‚ΠΈΠ²Π°Ρ†ΠΈΠΈ Ρ€Π΅ΠΆΠΈΠΌΠ° Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠ°:

  1. Π’Π΅Ρ€Π½ΠΈΡ‚Π΅ΡΡŒ Π² Π³Π»Π°Π²Π½ΠΎΠ΅ мСню настроСк ΠΈ ΠΎΡ‚ΠΊΡ€ΠΎΠΉΡ‚Π΅ Π”ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ β†’ Настройки Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠ°.
  2. ΠŸΡ€ΠΎΠΊΡ€ΡƒΡ‚ΠΈΡ‚Π΅ Π²Π½ΠΈΠ· Π΄ΠΎ Ρ€Π°Π·Π΄Π΅Π»Π° ΠžΡ‚Π»Π°Π΄ΠΊΠ° ΠΈ Π½Π°ΠΉΠ΄ΠΈΡ‚Π΅ ΠΎΠΏΡ†ΠΈΡŽ Π’ΠΊΠ»ΡŽΡ‡ΠΈΡ‚ΡŒ трассировку WinScope (Π½Π° Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… ΠΏΡ€ΠΎΡˆΠΈΠ²ΠΊΠ°Ρ… ΠΌΠΎΠΆΠ΅Ρ‚ Π½Π°Π·Ρ‹Π²Π°Ρ‚ΡŒΡΡ SurfaceFlinger трассировка).
  3. АктивируйтС ΠΏΠ΅Ρ€Π΅ΠΊΠ»ΡŽΡ‡Π°Ρ‚Π΅Π»ΡŒ ΠΈ ΠΏΠΎΠ΄Ρ‚Π²Π΅Ρ€Π΄ΠΈΡ‚Π΅ дСйствиС.

Π’Π΅ΠΏΠ΅Ρ€ΡŒ ΠΏΡ€ΠΈ Π²ΠΎΠ·Π½ΠΈΠΊΠ½ΠΎΠ²Π΅Π½ΠΈΠΈ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌ с ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒΡŽ систСма Π±ΡƒΠ΄Π΅Ρ‚ автоматичСски ΡΠΎΡ…Ρ€Π°Π½ΡΡ‚ΡŒ трассировки Π² ΠΏΠ°ΠΏΠΊΡƒ:

/sdcard/Android/data/com.android.tracing/files/

ΠΠΊΡ‚ΠΈΠ²ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Ρ€Π΅ΠΆΠΈΠΌ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠ°

Π’ΠΊΠ»ΡŽΡ‡ΠΈΡ‚ΡŒ ΠΎΠΏΡ†ΠΈΡŽ "Врассировка WinScope" Π² настройках

Π£Π±Π΅Π΄ΠΈΡ‚ΡŒΡΡ Π² Π½Π°Π»ΠΈΡ‡ΠΈΠΈ свободного мСста Π½Π° устройствС (ΠΌΠΈΠ½ΠΈΠΌΡƒΠΌ 500 ΠœΠ‘)

Π—Π°ΠΊΡ€Ρ‹Ρ‚ΡŒ Ρ„ΠΎΠ½ΠΎΠ²Ρ‹Π΅ прилоТСния для чистоты Π»ΠΎΠ³ΠΎΠ²

ΠŸΠΎΠ΄ΠΊΠ»ΡŽΡ‡ΠΈΡ‚ΡŒ устройство ΠΊ ПК для Π°Π½Π°Π»ΠΈΠ·Π° (ΠΎΠΏΡ†ΠΈΠΎΠ½Π°Π»ΡŒΠ½ΠΎ)-->

3. Как ΠΏΡ€ΠΎΡ‡ΠΈΡ‚Π°Ρ‚ΡŒ ΠΈ Π°Π½Π°Π»ΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Ρ„Π°ΠΉΠ»Ρ‹ трассировки

Π€Π°ΠΉΠ»Ρ‹, сгСнСрированныС WinScope, ΠΈΠΌΠ΅ΡŽΡ‚ Ρ€Π°ΡΡˆΠΈΡ€Π΅Π½ΠΈΠ΅ .perfetto ΠΈ содСрТат Π΄Π°Π½Π½Ρ‹Π΅ Π² Π±ΠΈΠ½Π°Ρ€Π½ΠΎΠΌ Ρ„ΠΎΡ€ΠΌΠ°Ρ‚Π΅. Для ΠΈΡ… Π°Π½Π°Π»ΠΈΠ·Π° понадобится:

  • πŸ’» Perfetto UI β€” Π²Π΅Π±-интСрфСйс ΠΎΡ‚ Google (ui.perfetto.dev).
  • πŸ› οΈ Android Studio Profiler (Π²Ρ…ΠΎΠ΄ΠΈΡ‚ Π² состав Android Studio).
  • πŸ“Š Systrace β€” ΡƒΡ‚ΠΈΠ»ΠΈΡ‚Π° ΠΊΠΎΠΌΠ°Π½Π΄Π½ΠΎΠΉ строки для ΠΏΡ€ΠΎΠ΄Π²ΠΈΠ½ΡƒΡ‚Ρ‹Ρ… ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Π΅ΠΉ.

Рассмотрим процСсс Π½Π° ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π΅ Perfetto UI:

  1. Π‘ΠΊΠΎΠΏΠΈΡ€ΡƒΠΉΡ‚Π΅ Ρ„Π°ΠΉΠ» .perfetto с устройства Π½Π° ПК.
  2. ΠžΡ‚ΠΊΡ€ΠΎΠΉΡ‚Π΅ ui.perfetto.dev Π² Π±Ρ€Π°ΡƒΠ·Π΅Ρ€Π΅.
  3. ΠŸΠ΅Ρ€Π΅Ρ‚Π°Ρ‰ΠΈΡ‚Π΅ Ρ„Π°ΠΉΠ» Π² ΠΎΠΊΠ½ΠΎ Π·Π°Π³Ρ€ΡƒΠ·ΠΊΠΈ ΠΈΠ»ΠΈ Π²Ρ‹Π±Π΅Ρ€ΠΈΡ‚Π΅ Π΅Π³ΠΎ Ρ‡Π΅Ρ€Π΅Π· ΠΊΠ½ΠΎΠΏΠΊΡƒ Open trace file.
  4. ПослС ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ Π²Ρ‹ ΡƒΠ²ΠΈΠ΄ΠΈΡ‚Π΅ Π²Ρ€Π΅ΠΌΠ΅Π½Π½ΡƒΡŽ ΡˆΠΊΠ°Π»Ρƒ с событиями, Π³Π΄Π΅:
  • 🟒 Π—Π΅Π»Ρ‘Π½Ρ‹Π΅ Π±Π»ΠΎΠΊΠΈ β€” ΡƒΡΠΏΠ΅ΡˆΠ½Ρ‹Π΅ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ.
  • 🟑 Π–Ρ‘Π»Ρ‚Ρ‹Π΅ β€” прСдупрСТдСния (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, долгая ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠ° ΠΊΠ°Π΄Ρ€Π°).
  • πŸ”΄ ΠšΡ€Π°ΡΠ½Ρ‹Π΅ β€” критичСскиС Π·Π°Π΄Π΅Ρ€ΠΆΠΊΠΈ ΠΈΠ»ΠΈ ошибки.

ОсобоС Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅ ΡƒΠ΄Π΅Π»ΠΈΡ‚Π΅ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΌ Ρ€Π°Π·Π΄Π΅Π»Π°ΠΌ:

  • SurfaceFlinger β€” здСсь отобраТаСтся, ΠΊΠ°ΠΊ Π΄ΠΎΠ»Π³ΠΎ ΠΎΠ±Ρ€Π°Π±Π°Ρ‚Ρ‹Π²Π°Π»ΠΈΡΡŒ слои интСрфСйса.
  • WindowManager β€” ΠΏΠΎΠΊΠ°Π·Ρ‹Π²Π°Π΅Ρ‚ Π·Π°Π΄Π΅Ρ€ΠΆΠΊΠΈ ΠΏΡ€ΠΈ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΈ ΠΎΠΊΠΎΠ½ (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, ΠΏΡ€ΠΈ сворачивании прилоТСния).
  • VSYNC β€” синхронизация с частотой обновлСния экрана (Ссли здСсь Π΅ΡΡ‚ΡŒ красныС ΠΌΠ΅Ρ‚ΠΊΠΈ, это ΡƒΠΊΠ°Π·Ρ‹Π²Π°Π΅Ρ‚ Π½Π° ΠΏΡ€ΠΎΠΏΡƒΡ‰Π΅Π½Π½Ρ‹Π΅ ΠΊΠ°Π΄Ρ€Ρ‹).
БСкция Π² Perfetto Π§Ρ‚ΠΎ Π°Π½Π°Π»ΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΠŸΡ€ΠΈΠ·Π½Π°ΠΊΠΈ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΡ‹
SurfaceFlinger::doComposition ВрСмя ΠΊΠΎΠΌΠΏΠΎΠ·ΠΈΡ‚ΠΈΠ½Π³Π° ΠΊΠ°Π΄Ρ€ΠΎΠ² Π—Π°Π΄Π΅Ρ€ΠΆΠΊΠΈ >16 мс (ΠΏΡ€ΠΈ 60 Π“Ρ†) ΠΈΠ»ΠΈ >8 мс (ΠΏΡ€ΠΈ 120 Π“Ρ†)
WindowManager::relayout ΠŸΠ΅Ρ€Π΅Ρ€Π°ΡΡ‡Ρ‘Ρ‚ располоТСния ΠΎΠΊΠΎΠ½ Π”Π»ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Π΅ Π±Π»ΠΎΠΊΠΈ (>50 мс) ΠΏΡ€ΠΈ ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚ΠΈΠΈ/Π·Π°ΠΊΡ€Ρ‹Ρ‚ΠΈΠΈ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ
VSYNC-sf Бинхронизация с дисплССм ΠŸΡ€ΠΎΠΏΡƒΡ‰Π΅Π½Π½Ρ‹Π΅ события VSYNC (красныС ΠΌΠ΅Ρ‚ΠΊΠΈ)
QueueBuffer ΠžΡ‡Π΅Ρ€Π΅Π΄ΡŒ Π±ΡƒΡ„Π΅Ρ€ΠΎΠ² для GPU Π”ΠΎΠ»Π³ΠΎΠ΅ ΠΎΠΆΠΈΠ΄Π°Π½ΠΈΠ΅ (>10 мс) ΠΏΠ΅Ρ€Π΅Π΄ Ρ€Π΅Π½Π΄Π΅Ρ€ΠΈΠ½Π³ΠΎΠΌ
⚠️ Π’Π½ΠΈΠΌΠ°Π½ΠΈΠ΅: Анализ трассировок Ρ‚Ρ€Π΅Π±ΡƒΠ΅Ρ‚ понимания Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€Ρ‹ Android. Если Π²Ρ‹ Π½Π΅ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊ, ΡΠΎΡΡ€Π΅Π΄ΠΎΡ‚ΠΎΡ‡ΡŒΡ‚Π΅ΡΡŒ Π½Π° поискС Π΄Π»ΠΈΠ½Π½Ρ‹Ρ… красных ΠΈΠ»ΠΈ ΠΆΡ‘Π»Ρ‚Ρ‹Ρ… Π±Π»ΠΎΠΊΠΎΠ² β€” ΠΎΠ½ΠΈ ΡƒΠΊΠ°Π·Ρ‹Π²Π°ΡŽΡ‚ Π½Π° явныС ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΡ‹ с ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒΡŽ.

4. Π’ΠΈΠΏΠΈΡ‡Π½Ρ‹Π΅ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΡ‹, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ выявляСт WinScope Π½Π° Xiaomi

На устройствах Xiaomi (особСнно с ΠΏΡ€ΠΎΡˆΠΈΠ²ΠΊΠ°ΠΌΠΈ MIUI 12–14 ΠΈ HyperOS) WinScope часто ΠΏΠΎΠΌΠΎΠ³Π°Π΅Ρ‚ Π΄ΠΈΠ°Π³Π½ΠΎΡΡ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠ΅ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΡ‹:

4.1. Π›Π°Π³ΠΈ ΠΏΡ€ΠΈ скроллС

Если ΠΏΡ€ΠΈ ΠΏΡ€ΠΎΠΊΡ€ΡƒΡ‚ΠΊΠ΅ списков (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, Π² Настройках ΠΈΠ»ΠΈ Π“Π°Π»Π΅Ρ€Π΅Π΅) Π²ΠΎΠ·Π½ΠΈΠΊΠ°ΡŽΡ‚ Ρ€Ρ‹Π²ΠΊΠΈ, Π² трассировкС Π²Ρ‹ ΡƒΠ²ΠΈΠ΄ΠΈΡ‚Π΅:

  • Π—Π°Π΄Π΅Ρ€ΠΆΠΊΠΈ Π² SurfaceFlinger::doComposition (ΠΊΠ°Π΄Ρ€Ρ‹ ΠΎΠ±Ρ€Π°Π±Π°Ρ‚Ρ‹Π²Π°ΡŽΡ‚ΡΡ дольшС 16 мс).
  • ΠŸΡ€ΠΎΠΏΡƒΡ‰Π΅Π½Π½Ρ‹Π΅ события VSYNC (экрану Π½Π΅ ΡƒΡΠΏΠ΅Π²Π°ΡŽΡ‚ ΠΏΠ΅Ρ€Π΅Π΄Π°Ρ‚ΡŒ Π½ΠΎΠ²Ρ‹ΠΉ ΠΊΠ°Π΄Ρ€).
  • Π”ΠΎΠ»Π³ΠΈΠ΅ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ Π² RenderThread (ΠΏΠΎΡ‚ΠΎΠΊ Ρ€Π΅Π½Π΄Π΅Ρ€ΠΈΠ½Π³Π° прилоТСния).

Частая ΠΏΡ€ΠΈΡ‡ΠΈΠ½Π°: ΠΏΠ΅Ρ€Π΅Π³Ρ€ΡƒΠ·ΠΊΠ° GPU ΠΈΠ·-Π·Π° тяТСлых Π°Π½ΠΈΠΌΠ°Ρ†ΠΈΠΉ Π² MIUI ΠΈΠ»ΠΈ ΠΊΠΎΠ½Ρ„Π»ΠΈΠΊΡ‚ΠΎΠ² с ΠΎΠ±ΠΎΠ»ΠΎΡ‡ΠΊΠΎΠΉ HyperOS.

4.2. Зависания ΠΏΡ€ΠΈ ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚ΠΈΠΈ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ

Если ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Π΄ΠΎΠ»Π³ΠΎ Π½Π΅ открываСтся ΠΈΠ»ΠΈ "подвисаСт" Π½Π° Ρ‡Ρ‘Ρ€Π½ΠΎΠΌ экранС, ΠΏΡ€ΠΎΠ²Π΅Ρ€ΡŒΡ‚Π΅:

  • Π‘Π»ΠΎΠΊΠΈ Π² WindowManager::relayout (ΠΎΠΊΠ½ΠΎ Π½Π΅ ΠΌΠΎΠΆΠ΅Ρ‚ ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΠΈΡ‚ΡŒ свои Ρ€Π°Π·ΠΌΠ΅Ρ€Ρ‹).
  • Π—Π°Π΄Π΅Ρ€ΠΆΠΊΠΈ Π² ActivityManager (систСма ΠΌΠ΅Π΄Π»Π΅Π½Π½ΠΎ создаёт процСсс прилоТСния).
  • Ошибки Π² PackageManager (ΠΊΠΎΠ½Ρ„Π»ΠΈΠΊΡ‚Ρ‹ с кэшСм ΠΈΠ»ΠΈ Ρ€Π°Π·Ρ€Π΅ΡˆΠ΅Π½ΠΈΡΠΌΠΈ).

На Xiaomi это часто связано с ΠΎΠΏΡ‚ΠΈΠΌΠΈΠ·Π°Ρ†ΠΈΠ΅ΠΉ MIUI, которая агрСссивно Π·Π°ΠΊΡ€Ρ‹Π²Π°Π΅Ρ‚ Ρ„ΠΎΠ½ΠΎΠ²Ρ‹Π΅ процСссы.

4.3. АртСфакты Π½Π° экранС (Ρ€Π°Π·Ρ€Ρ‹Π²Ρ‹, мСрцания)

Если Π½Π° экранС ΠΏΠΎΡΠ²Π»ΡΡŽΡ‚ΡΡ графичСскиС глюки (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, "Ρ€Π²Π°Π½Ρ‹Π΅" ΠΏΠ΅Ρ€Π΅Ρ…ΠΎΠ΄Ρ‹ ΠΌΠ΅ΠΆΠ΄Ρƒ экранами), ΠΈΡ‰ΠΈΡ‚Π΅:

  • Ошибки Π² SurfaceFlinger::composite (Π½Π΅ΠΊΠΎΡ€Ρ€Π΅ΠΊΡ‚Π½ΠΎΠ΅ Π½Π°Π»ΠΎΠΆΠ΅Π½ΠΈΠ΅ слоёв).
  • ΠŸΡ€ΠΎΠ±Π»Π΅ΠΌΡ‹ с HWC (Hardware Composer) β€” Π΄Ρ€Π°ΠΉΠ²Π΅Ρ€ΠΎΠΌ, ΠΎΡ‚Π²Π΅Ρ‡Π°ΡŽΡ‰ΠΈΠΌ Π·Π° взаимодСйствиС с дисплССм.
  • ΠšΠΎΠ½Ρ„Π»ΠΈΠΊΡ‚Ρ‹ Π² DisplayManager (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, ΠΏΡ€ΠΈ смСнС Ρ€Π°Π·Ρ€Π΅ΡˆΠ΅Π½ΠΈΡ ΠΈΠ»ΠΈ частоты обновлСния).

На устройствах с AMOLED-экранами (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, Xiaomi 13 Ultra ΠΈΠ»ΠΈ Redmi K60 Pro) это ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ связано с Π½Π΅ΠΊΠΎΡ€Ρ€Π΅ΠΊΡ‚Π½ΠΎΠΉ Ρ€Π°Π±ΠΎΡ‚ΠΎΠΉ Π΄Ρ€Π°ΠΉΠ²Π΅Ρ€Π° DC dimming.

ΠŸΡ€ΠΈΠΌΠ΅Ρ€ трассировки с Π»Π°Π³Π°ΠΌΠΈ Π² MIUI 14

Π’ ΠΎΠ΄Π½ΠΎΠΌ ΠΈΠ· тСстов Π½Π° Xiaomi 12T с MIUI 14.0.3 ΠΏΡ€ΠΈ скроллС Π² мСню настроСк WinScope зафиксировал Π·Π°Π΄Π΅Ρ€ΠΆΠΊΠΈ Π² SurfaceFlinger Π΄ΠΎ 40 мс (ΠΏΡ€ΠΈ Π½ΠΎΡ€ΠΌΠ΅ 16 мс). ΠŸΡ€ΠΈΡ‡ΠΈΠ½Π° оказалась Π² ΠΊΠΎΠ½Ρ„Π»ΠΈΠΊΡ‚Π΅ ΠΌΠ΅ΠΆΠ΄Ρƒ систСмной Π°Π½ΠΈΠΌΠ°Ρ†ΠΈΠ΅ΠΉ "Ми-Макс" ΠΈ Π΄Ρ€Π°ΠΉΠ²Π΅Ρ€ΠΎΠΌ дисплСя. РСшСниС: ΠΎΡ‚ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅ Π°Π½ΠΈΠΌΠ°Ρ†ΠΈΠΉ Π² настройках Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠ° (Анимация ΠΎΠΊΠΎΠ½ = 0.5x).

5. ΠžΠ³Ρ€Π°Π½ΠΈΡ‡Π΅Π½ΠΈΡ ΠΈ риски использования WinScope

НСсмотря Π½Π° ΠΏΠΎΠ»Π΅Π·Π½ΠΎΡΡ‚ΡŒ, трассировка WinScope ΠΈΠΌΠ΅Π΅Ρ‚ ряд ΠΎΠ³Ρ€Π°Π½ΠΈΡ‡Π΅Π½ΠΈΠΉ ΠΈ ΠΏΠΎΡ‚Π΅Π½Ρ†ΠΈΠ°Π»ΡŒΠ½Ρ‹Ρ… рисков:

  • πŸ“‰ Нагрузка Π½Π° систСму: постоянная запись трассировки ΡƒΠ²Π΅Π»ΠΈΡ‡ΠΈΠ²Π°Π΅Ρ‚ ΠΏΠΎΡ‚Ρ€Π΅Π±Π»Π΅Π½ΠΈΠ΅ CPU ΠΈ аккумулятора. На слабых устройствах (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, Redmi 9A) это ΠΌΠΎΠΆΠ΅Ρ‚ Π²Ρ‹Π·Π²Π°Ρ‚ΡŒ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Π΅ Π»Π°Π³ΠΈ.
  • πŸ“ ΠžΠ±ΡŠΡ‘ΠΌ Π΄Π°Π½Π½Ρ‹Ρ…: ΠΎΠ΄ΠΈΠ½ сСанс трассировки ΠΌΠΎΠΆΠ΅Ρ‚ Π·Π°Π½ΠΈΠΌΠ°Ρ‚ΡŒ 100–500 ΠœΠ‘. ΠŸΡ€ΠΈ Π°ΠΊΡ‚ΠΈΠ²Π½ΠΎΠΌ использовании ΠΏΠ°ΠΌΡΡ‚ΡŒ устройства быстро заполнится.
  • πŸ”’ ΠšΠΎΠ½Ρ„ΠΈΠ΄Π΅Π½Ρ†ΠΈΠ°Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ: Ρ„Π°ΠΉΠ»Ρ‹ .perfetto содСрТат Π΄Π΅Ρ‚Π°Π»ΡŒΠ½ΡƒΡŽ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΡŽ ΠΎ Π²Π°ΡˆΠΈΡ… дСйствиях (ΠΊΠ°ΠΊΠΈΠ΅ прилоТСния ΠΎΡ‚ΠΊΡ€Ρ‹Π²Π°Π»ΠΈΡΡŒ, ΠΊΠΎΠ³Π΄Π° ΠΈ ΠΊΠ°ΠΊ взаимодСйствовали с интСрфСйсом). НС Π΄Π΅Π»ΠΈΡ‚Π΅ΡΡŒ ΠΈΠΌΠΈ с посторонними!
  • πŸ› οΈ Π‘Π»ΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ Π°Π½Π°Π»ΠΈΠ·Π°: Π±Π΅Π· ΠΎΠΏΡ‹Ρ‚Π° Ρ€Π°Π·ΠΎΠ±Ρ€Π°Ρ‚ΡŒΡΡ Π² трассировкС нСпросто. МногиС ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΡ‹ Ρ‚Ρ€Π΅Π±ΡƒΡŽΡ‚ Π·Π½Π°Π½ΠΈΠΉ Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€Ρ‹ Android.
⚠️ Π’Π½ΠΈΠΌΠ°Π½ΠΈΠ΅: На Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… устройствах Xiaomi (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, с процСссорами MediaTek) трассировка WinScope ΠΌΠΎΠΆΠ΅Ρ‚ Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ Π½Π΅ΡΡ‚Π°Π±ΠΈΠ»ΡŒΠ½ΠΎ ΠΈΠ·-Π·Π° ΠΎΠ³Ρ€Π°Π½ΠΈΡ‡Π΅Π½ΠΈΠΉ Π² Π΄Ρ€Π°ΠΉΠ²Π΅Ρ€Π°Ρ…. Π’ этом случаС ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ Π°Π»ΡŒΡ‚Π΅Ρ€Π½Π°Ρ‚ΠΈΠ²Ρ‹ Π²Ρ€ΠΎΠ΄Π΅ systrace ΠΈΠ»ΠΈ atrace.

Π§Ρ‚ΠΎΠ±Ρ‹ ΠΌΠΈΠ½ΠΈΠΌΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ риски:

  • Π’ΠΊΠ»ΡŽΡ‡Π°ΠΉΡ‚Π΅ трассировку Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΏΡ€ΠΈ нСобходимости ΠΈ ΠΎΡ‚ΠΊΠ»ΡŽΡ‡Π°ΠΉΡ‚Π΅ Π΅Ρ‘ послС сбора Π΄Π°Π½Π½Ρ‹Ρ….
  • ΠžΡ‡ΠΈΡ‰Π°ΠΉΡ‚Π΅ ΠΏΠ°ΠΏΠΊΡƒ с Π»ΠΎΠ³Π°ΠΌΠΈ (/sdcard/Android/data/com.android.tracing/files/) послС Π°Π½Π°Π»ΠΈΠ·Π°.
  • НС ΠΏΠ΅Ρ€Π΅Π΄Π°Π²Π°ΠΉΡ‚Π΅ Ρ„Π°ΠΉΠ»Ρ‹ трассировки Π² ΠΏΡƒΠ±Π»ΠΈΡ‡Π½Ρ‹Π΅ Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΈ ΠΈΠ»ΠΈ Ρ„ΠΎΡ€ΡƒΠΌΡ‹ Π±Π΅Π· ΠΏΡ€Π΅Π΄Π²Π°Ρ€ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΠΉ Π°Π½ΠΎΠ½ΠΈΠΌΠΈΠ·Π°Ρ†ΠΈΠΈ.

6. ΠΠ»ΡŒΡ‚Π΅Ρ€Π½Π°Ρ‚ΠΈΠ²Ρ‹ WinScope для диагностики Xiaomi

Если WinScope Π½Π΅ Π΄Π°Π» Π½ΡƒΠΆΠ½Ρ‹Ρ… Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ΠΎΠ² ΠΈΠ»ΠΈ Π½Π΅ Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ Π½Π° вашСм устройствС, рассмотритС Π°Π»ΡŒΡ‚Π΅Ρ€Π½Π°Ρ‚ΠΈΠ²Π½Ρ‹Π΅ инструмСнты:

Π˜Π½ΡΡ‚Ρ€ΡƒΠΌΠ΅Π½Ρ‚ НазначСниС Как Π·Π°ΠΏΡƒΡΡ‚ΠΈΡ‚ΡŒ Π½Π° Xiaomi
systrace БистСмная трассировка (CPU, GPU, I/O) Π§Π΅Ρ€Π΅Π· ADB:
adb shell systrace -o trace.html
logcat Π›ΠΎΠ³ΠΈ ошибок ΠΈ событий Android Π§Π΅Ρ€Π΅Π· ADB:
adb logcat > log.txt
Android Profiler Анализ ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ Π§Π΅Ρ€Π΅Π· Android Studio (Ρ‚Ρ€Π΅Π±ΡƒΠ΅Ρ‚ ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΡ ΠΏΠΎ USB)
Game Turbo Log Π›ΠΎΠ³ΠΈ для ΠΈΠ³Ρ€ (FPS, Π½Π°Π³Ρ€Π΅Π², ΠΏΠΎΡ‚Ρ€Π΅Π±Π»Π΅Π½ΠΈΠ΅) Π’ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ΡΡ Π² Настройки β†’ Π‘ΠΏΠ΅Ρ†ΠΈΠ°Π»ΡŒΠ½Ρ‹Π΅ возмоТности β†’ Game Turbo

Для Π±ΠΎΠ»ΡŒΡˆΠΈΠ½ΡΡ‚Π²Π° ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Π΅ΠΉ Xiaomi комбинация logcat + systrace даст достаточно Π΄Π°Π½Π½Ρ‹Ρ… для диагностики. WinScope ΠΆΠ΅ ΠΏΠΎΠ»Π΅Π·Π΅Π½ Π² ΡƒΠ·ΠΊΠΈΡ… случаях, связанных с графичСскими глюками ΠΈΠ»ΠΈ Π·Π°Π΄Π΅Ρ€ΠΆΠΊΠ°ΠΌΠΈ интСрфСйса.

7. ΠŸΡ€Π°ΠΊΡ‚ΠΈΡ‡Π΅ΡΠΊΠΈΠ΅ совСты ΠΏΠΎ ΠΎΠΏΡ‚ΠΈΠΌΠΈΠ·Π°Ρ†ΠΈΠΈ Xiaomi Π½Π° основС WinScope

Если Π°Π½Π°Π»ΠΈΠ· трассировки выявил ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΡ‹, Π²ΠΎΡ‚ нСсколько ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½Ρ‹Ρ… дСйствий для ΠΈΡ… устранСния:

7.1. УмСньшСниС Π½Π°Π³Ρ€ΡƒΠ·ΠΊΠΈ Π½Π° SurfaceFlinger

  • 🎨 ΠžΡ‚ΠΊΠ»ΡŽΡ‡ΠΈΡ‚Π΅ Π°Π½ΠΈΠΌΠ°Ρ†ΠΈΠΈ Π² Настройки Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠ°:
  • Анимация ΠΎΠΊΠΎΠ½ = Π’Ρ‹ΠΊΠ».
    

    Анимация ΠΏΠ΅Ρ€Π΅Ρ…ΠΎΠ΄ΠΎΠ² = Π’Ρ‹ΠΊΠ».

    Π”Π»ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ Π°Π½ΠΈΠΌΠ°Ρ†ΠΈΠΈ = 0.5x

  • πŸ“± Π˜ΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ Π»Ρ‘Π³ΠΊΠΈΠ΅ Π»Π°ΡƒΠ½Ρ‡Π΅Ρ€Ρ‹ (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, Nova Launcher вмСсто стандартного MIUI Launcher).
  • πŸ”„ ΠžΡ‚ΠΊΠ»ΡŽΡ‡ΠΈΡ‚Π΅ Π°Π²Ρ‚ΠΎΠΌΠ°Ρ‚ΠΈΡ‡Π΅ΡΠΊΡƒΡŽ смСну Ρ‚Π΅ΠΌ (Π² MIUI ΠΎΠ½Π° часто Π²Ρ‹Π·Ρ‹Π²Π°Π΅Ρ‚ пСрСрисовку интСрфСйса).

7.2. ΠžΠΏΡ‚ΠΈΠΌΠΈΠ·Π°Ρ†ΠΈΡ Ρ€Π°Π±ΠΎΡ‚Ρ‹ WindowManager

  • πŸ—‘οΈ ΠžΡ‡ΠΈΡΡ‚ΠΈΡ‚Π΅ кэш систСмных ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ (Настройки β†’ ΠŸΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ β†’ Π£ΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠ΅ прилоТСниями β†’ БистСмныС).
  • πŸ”§ ΠžΡ‚ΠΊΠ»ΡŽΡ‡ΠΈΡ‚Π΅ ΠΎΠΏΡ‚ΠΈΠΌΠΈΠ·Π°Ρ†ΠΈΡŽ MIUI для ΠΈΠ³Ρ€ (Ссли Π½Π΅ ΠΈΠ³Ρ€Π°Π΅Ρ‚Π΅): Настройки β†’ Π‘ΠΏΠ΅Ρ†ΠΈΠ°Π»ΡŒΠ½Ρ‹Π΅ возмоТности β†’ Game Turbo β†’ ΠžΡ‚ΠΊΠ»ΡŽΡ‡ΠΈΡ‚ΡŒ.
  • πŸ“΅ Π£ΠΌΠ΅Π½ΡŒΡˆΠΈΡ‚Π΅ количСство Ρ„ΠΎΠ½ΠΎΠ²Ρ‹Ρ… процСссов:
  • Настройки Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠ° β†’ Π›ΠΈΠΌΠΈΡ‚ процСссов = ΠœΠ°ΠΊΡΠΈΠΌΡƒΠΌ 2 Ρ„ΠΎΠ½ΠΎΠ²Ρ‹Ρ…

7.3. РСшСниС ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌ с VSYNC

  • πŸ”„ ΠŸΠ΅Ρ€Π΅ΠΊΠ»ΡŽΡ‡ΠΈΡ‚Π΅ΡΡŒ Π½Π° ΡΡ‚Π°Π½Π΄Π°Ρ€Ρ‚Π½ΡƒΡŽ частоту обновлСния экрана (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, 60 Π“Ρ† вмСсто 120 Π“Ρ†, Ссли Π΅ΡΡ‚ΡŒ Π»Π°Π³ΠΈ).
  • πŸ”‹ ΠžΡ‚ΠΊΠ»ΡŽΡ‡ΠΈΡ‚Π΅ Π°Π΄Π°ΠΏΡ‚ΠΈΠ²Π½ΡƒΡŽ частоту (Ссли Π΅ΡΡ‚ΡŒ): Настройки β†’ ДисплСй β†’ Частота обновлСния β†’ Ѐиксированная.
  • πŸ› οΈ ΠžΠ±Π½ΠΎΠ²ΠΈΡ‚Π΅ Π΄Ρ€Π°ΠΉΠ²Π΅Ρ€Ρ‹ дисплСя (Ρ‡Π΅Ρ€Π΅Π· ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΠ΅ ΠΏΡ€ΠΎΡˆΠΈΠ²ΠΊΠΈ ΠΈΠ»ΠΈ кастомноС ядро).

Если послС всСх манипуляций Π»Π°Π³ΠΈ ΠΎΡΡ‚Π°ΡŽΡ‚ΡΡ, ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠ° ΠΌΠΎΠΆΠ΅Ρ‚ ΠΊΡ€Ρ‹Ρ‚ΡŒΡΡ Π² Π°ΠΏΠΏΠ°Ρ€Π°Ρ‚Π½Ρ‹Ρ… ограничСниях (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, слабый процСссор ΠΈΠ»ΠΈ Π½Π΅Ρ…Π²Π°Ρ‚ΠΊΠ° ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΈΠ²Π½ΠΎΠΉ памяти). Π’ этом случаС ΠΏΠΎΠΌΠΎΠΆΠ΅Ρ‚ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Π·Π°ΠΌΠ΅Π½Π° устройства ΠΈΠ»ΠΈ установка ΠΎΠ±Π»Π΅Π³Ρ‡Ρ‘Π½Π½ΠΎΠΉ ΠΏΡ€ΠΎΡˆΠΈΠ²ΠΊΠΈ (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, MIUI Lite ΠΈΠ»ΠΈ LineageOS).

Часто Π·Π°Π΄Π°Π²Π°Π΅ΠΌΡ‹Π΅ вопросы (FAQ)

❓ МоТно Π»ΠΈ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ WinScope Π½Π° всСх смартфонах Xiaomi?

Π”Π°, инструмСнт встроСн Π² Android начиная с вСрсии 10, поэтому ΠΎΠ½ доступСн Π½Π° всСх соврСмСнных устройствах Xiaomi (ΠΎΡ‚ Redmi Note 8 Π΄ΠΎ Xiaomi 14). Однако Π½Π° Π±ΡŽΠ΄ΠΆΠ΅Ρ‚Π½Ρ‹Ρ… модСлях (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, Redmi A1) трассировка ΠΌΠΎΠΆΠ΅Ρ‚ Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ Π½Π΅ΡΡ‚Π°Π±ΠΈΠ»ΡŒΠ½ΠΎ ΠΈΠ·-Π·Π° ΠΎΠ³Ρ€Π°Π½ΠΈΡ‡Π΅Π½Π½Ρ‹Ρ… рСсурсов.

❓ Как ΠΎΡ‚ΠΊΠ»ΡŽΡ‡ΠΈΡ‚ΡŒ WinScope послС использования?

ΠŸΠ΅Ρ€Π΅ΠΉΠ΄ΠΈΡ‚Π΅ Π² Настройки Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠ° β†’ ΠžΡ‚Π»Π°Π΄ΠΊΠ° β†’ Врассировка WinScope ΠΈ Π΄Π΅Π°ΠΊΡ‚ΠΈΠ²ΠΈΡ€ΡƒΠΉΡ‚Π΅ ΠΏΠ΅Ρ€Π΅ΠΊΠ»ΡŽΡ‡Π°Ρ‚Π΅Π»ΡŒ. Π’Π°ΠΊΠΆΠ΅ рСкомСндуСтся ΡƒΠ΄Π°Π»ΠΈΡ‚ΡŒ Ρ„Π°ΠΉΠ»Ρ‹ Π»ΠΎΠ³ΠΎΠ² ΠΈΠ· ΠΏΠ°ΠΏΠΊΠΈ /sdcard/Android/data/com.android.tracing/files/, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΎΡΠ²ΠΎΠ±ΠΎΠ΄ΠΈΡ‚ΡŒ мСсто.

❓ ΠœΠΎΠΆΠ΅Ρ‚ Π»ΠΈ WinScope ΠΏΠΎΠΌΠΎΡ‡ΡŒ с Π»Π°Π³Π°ΠΌΠΈ Π² ΠΈΠ³Ρ€Π°Ρ…?

Частично. WinScope фиксируСт ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΡ‹ с ΠΎΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ΠΌ ΠΊΠ°Π΄Ρ€ΠΎΠ² (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, Ссли ΠΈΠ³Ρ€Π° подвисаСт ΠΈΠ·-Π·Π° ΠΊΠΎΠ½Ρ„Π»ΠΈΠΊΡ‚Π° с SurfaceFlinger). Однако для Π°Π½Π°Π»ΠΈΠ·Π° FPS, Π½Π°Π³Ρ€ΡƒΠ·ΠΊΠΈ Π½Π° GPU ΠΈ CPU Π»ΡƒΡ‡ΡˆΠ΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Game Turbo Log ΠΈΠ»ΠΈ Android Profiler.

❓ БСзопасно Π»ΠΈ Π΄Π΅Π»ΠΈΡ‚ΡŒΡΡ Ρ„Π°ΠΉΠ»Π°ΠΌΠΈ трассировки с ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠΎΠΉ Xiaomi?

НСт. Π€Π°ΠΉΠ»Ρ‹ .perfetto содСрТат ΠΊΠΎΠ½Ρ„ΠΈΠ΄Π΅Π½Ρ†ΠΈΠ°Π»ΡŒΠ½ΡƒΡŽ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΡŽ: названия ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚Ρ‹Ρ… ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ, врСмя ΠΈΡ… использования, взаимодСйствия с интСрфСйсом. Если Π½ΡƒΠΆΠ½ΠΎ ΠΎΡ‚ΠΏΡ€Π°Π²ΠΈΡ‚ΡŒ Π»ΠΎΠ³ΠΈ Π² слуТбу ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠΈ, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ ΠΎΡ„ΠΈΡ†ΠΈΠ°Π»ΡŒΠ½Ρ‹Π΅ ΠΊΠ°Π½Π°Π»Ρ‹ (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, Ρ‡Π΅Ρ€Π΅Π· Mi Community с ΠΏΠΎΠΌΠ΅Ρ‚ΠΊΠΎΠΉ "Для диагностики").

❓ ΠŸΠΎΡ‡Π΅ΠΌΡƒ WinScope Π½Π΅ сохраняСт Π»ΠΎΠ³ΠΈ Π½Π° ΠΌΠΎΡ‘ΠΌ Xiaomi?

Π’ΠΎΠ·ΠΌΠΎΠΆΠ½Ρ‹Π΅ ΠΏΡ€ΠΈΡ‡ΠΈΠ½Ρ‹:

  • НС Ρ…Π²Π°Ρ‚Π°Π΅Ρ‚ мСста Π½Π° устройствС (Π½ΡƒΠΆΠ½ΠΎ ΠΌΠΈΠ½ΠΈΠΌΡƒΠΌ 500 ΠœΠ‘ свободного пространства).
  • ΠžΡ‚ΡΡƒΡ‚ΡΡ‚Π²ΡƒΡŽΡ‚ ΠΏΡ€Π°Π²Π° Π½Π° запись Π² ΠΏΠ°ΠΏΠΊΡƒ /sdcard/Android/data/ (ΠΏΡ€ΠΎΠ²Π΅Ρ€ΡŒΡ‚Π΅ Ρ€Π°Π·Ρ€Π΅ΡˆΠ΅Π½ΠΈΡ для com.android.tracing).
  • Врассировка ΠΎΡ‚ΠΊΠ»ΡŽΡ‡Π΅Π½Π° Π² настройках Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠ°.
  • Устройство Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ Π½Π° кастомной ΠΏΡ€ΠΎΡˆΠΈΠ²ΠΊΠ΅ Π±Π΅Π· ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠΈ Perfetto.

РСшСниС: ΠΏΡ€ΠΎΠ²Π΅Ρ€ΡŒΡ‚Π΅ настройки, освободитС мСсто ΠΈ ΠΏΠ΅Ρ€Π΅Π·Π°Π³Ρ€ΡƒΠ·ΠΈΡ‚Π΅ устройство.