Clarify CPU indicator polling and pending responses
This commit is contained in:
1 parent
d23a96a08e
commit
f020a6f62b
1 file changed
+7
-3
+7
-3
@@ -225,9 +225,13 @@ CPU измеряется с первого `uasync_poll` или `uasync_get_load
|
||||
|
||||
GUI показывает округлённое секундное среднее 0–100% поверх полосы с градиентом зелёный → жёлтый → красный:
|
||||
desktop — рядом с заголовком каналов, Android — рядом с версией в списке групп.
|
||||
Запрос `chat_core_collect_cpu_load_trampoline` возвращает короткое событие `CHAT_EVT_CPU_LOAD` (`valid:1, average_percent:1`).
|
||||
GUI опрашивает ядро каждые 333 мс, не более одного незавершённого запроса. Android опрашивает только пока экран списка групп RESUMED;
|
||||
при паузе или уходе с экрана coroutine отменяется, фоновых запросов и таймеров ядра для индикатора нет.
|
||||
Запрос `chat_core_collect_cpu_load_trampoline` выполняется в потоке ядра и возвращает событие `CHAT_EVT_CPU_LOAD`:
|
||||
два байта `[valid][average_percent]`, где среднее округлено до целого процента. При `valid=0` GUI показывает 0%.
|
||||
Desktop-таймер проверяет готовность ядра каждые 333 мс; Android отправляет запросы с паузой 333 мс,
|
||||
только пока экран списка групп RESUMED. В обоих случаях допускается не более одного незавершённого запроса.
|
||||
При паузе или уходе с Android-экрана coroutine опроса отменяется и новые запросы не отправляются.
|
||||
Уже опубликованный запрос не отменяется: ответ снимает pending, но при скрытом экране валидный ответ не меняет индикатор.
|
||||
Для индикатора не создаются таймеры ядра.
|
||||
|
||||
### Внутренние структуры
|
||||
|
||||
|
||||
Reference in new issue
Block a user