Unact / yandex_mapkit

Flutter implementation of YandexMapkit
MIT License
132 stars 151 forks source link

Проблемы с производительностью карты при наличии анимированных виджетов на экране #310

Open Legendorik opened 1 year ago

Legendorik commented 1 year ago

Решил использовать стандартный индикатор загрузки на экране с картой (должен был отображаться поверх нее, для обозначения рантаймовой генерации изображений для маркеров) и столкнулся с серьезными просадками производительности. Воспроизвел проблему даже на пустой карте без всякой логики.

Если я все правильно понимаю, то никаких лишних ребилдов тут не происходит, но мне тяжело поверить в то, что карта настолько забивает собой основной процесс, что никакие дополнительные анимации использовать по сути нельзя.

Видео: https://disk.yandex.ru/i/orHDE8Jzh-uiHA Демка сделана на довольно стареньком Redmi Note 4, но на эмуляторе с куда более серьезными мощностями просадка все еще заметна. Снимал в дебаге, но в релизной сборке ничего не меняется.

Собственно хочу узнать, ожидаемое ли это поведение, или здесь можно что-то придумать

Код экрана

import 'package:flutter/material.dart';
import 'package:yandex_mapkit/yandex_mapkit.dart';

class TestMapPage extends StatelessWidget {
  @override
  Widget build(BuildContext context) {
    return Scaffold(
      body: Column(
        children: [
          Center(
            child: CircularProgressIndicator(),
          ),
          Expanded(
            child: Container(
              child: YandexMap(),
            ),
          ),
        ],
      ),
    );
  }
}

flutter: 3.3.10 yandex_mapkit: ^3.2.0

subzero911 commented 11 months ago

Этот пакет, похоже, заброшен авторами. Спросите сюда https://pub.dev/packages/yandex_mapkit_community Тут чуваки активно фиксят баги и поддерживают.

DCrow commented 11 months ago

Добрый день!

Это какая-то общая проблема с андроидом для флаттер. https://github.com/flutter/flutter/issues/28493 Пока остается ждать, когда команда флаттер разрешит проблему.

mtrfnvwork commented 3 months ago

Та же проблема в версии 3.4.0 на iOS. Приложение становится неюзабельным