Skip to content

PLASMA-7905: Popover trigger position tracking is now optional - #892

Open
SerraMorec wants to merge 1 commit into
developfrom
feature/plasma-7905
Open

PLASMA-7905: Popover trigger position tracking is now optional#892
SerraMorec wants to merge 1 commit into
developfrom
feature/plasma-7905

Conversation

@SerraMorec

Copy link
Copy Markdown
Collaborator

sdds-uikit-compose

Popover

  • В модификаторе .popoverTrigger теперь есть возможность его отключения

What/why changed

В модификаторе popoverTrigger теперь есть возможность его отключения. При включенном модификаторе позиция триггера на layout постоянно отслеживается , что ведет к нагрузке на производительность в случае, когда триггеров много и они находятся в скроллящемся списке. С появлением этого параметра, отслеживание положения триггера начинается в момент вызова Popover (нажатие на триггер)

В подтверждение этому проведен эксперемент с замерами производительности

На первом снимке отображен момент скролла списка из 1000 Buttons помещенных в LazyColumn, к которым не применен модификатор .popoverTrigger. Видно некоторое количество кадров, время отрисовки которых превысило ожидаемое (эти кадры называются Junky Frames). В более подробном отчете, в Choreographer#doFrame видно, что за время скролла, параметр traversal (в него входят measure, layout ,draw ) занимает 5,56% от всего времени подготовки кадров.

only 1000 Buttons

Второй снимок иллюстрирует ситуацию, когда к этим же 1000 Buttons применен модификатор .popoverTrigger, у которого параметр enabled включен всегда, то есть положение каждого триггера на экране отслеживается постоянно. Видно, что количество Junky frames заметно прибавилось , а traversal составляет теперь 10,66% , что в два раза больше, чем в прошлом эксперементе.

1000 buttons not optimized

И, наконец, третий снимок - к этим же 1000 Buttons применен модификатор .popoverTrigger, у которого параметр enabled включается только в момент нажатия на триггер. Отстутствуют Junky Frames, traversal составляет 5,2% за время пока идет анимация скролла.

1000 buttons optimized

Наличие Junky Frames в первом эксперементе может быть обусловлено более резким движением для скролла списка. Более низкий процент занимаемый traversal в 3 экспеоементе, по сравнению с 1, объясняется чуть меньшим временем анимации самого скролла.

@coderabbitai

coderabbitai Bot commented Aug 20, 2026

Copy link
Copy Markdown

Important

Review skipped

Auto reviews are disabled on base/target branches other than the default branch.

Please check the settings in the CodeRabbit UI or the .coderabbit.yaml file in this repository. To trigger a single review, invoke the @coderabbitai review command.

⚙️ Run configuration

Configuration used: defaults

Review profile: CHILL

Plan: Pro Plus

Run ID: 66d6e3cc-f640-4583-bf21-89adb51f4093

You can disable this status message by setting the reviews.review_status to false in the CodeRabbit configuration file.

Use the checkbox below for a quick retry:

  • 🔍 Trigger review

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands.

@salutedevs

salutedevs commented Aug 20, 2026

Copy link
Copy Markdown
Collaborator

📦 Собранные Debug APK

📲 Как установить APK на Android-устройство:

  1. Распакуйте архив.
  2. Скопируйте нужный .apk на устройство (через USB, Telegram, Google Drive и т.д.).
  3. Откройте .apk на устройстве и подтвердите установку.
    Если потребуется, включите Разрешение на установку из неизвестных источников в настройках устройства.

💻 Установка через USB (ADB):

  1. Включите Отладку по USB на устройстве (Настройки → Для разработчиков).
  2. Подключите устройство к компьютеру по USB.
  3. Убедитесь, что устройство отображается:
    adb devices
  4. Установите .apk:
    adb install path/to/your.apk
    Если приложение уже установлено и нужно обновить:
    adb install -r path/to/your.apk

@salutedevs

Copy link
Copy Markdown
Collaborator

@SerraMorec
SerraMorec force-pushed the feature/plasma-7905 branch from a9ee2c3 to 1173392 Compare August 21, 2026 08:02
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants