1 В избранное 0 Ответвления 0

OSCHINA-MIRROR/mirrors-developer-quest

Присоединиться к Gitlife
Откройте для себя и примите участие в публичных проектах с открытым исходным кодом с участием более 10 миллионов разработчиков. Приватные репозитории также полностью бесплатны :)
Присоединиться бесплатно
Клонировать/Скачать
Внести вклад в разработку кода
Синхронизировать код
Отмена
Подсказка: Поскольку Git не поддерживает пустые директории, создание директории приведёт к созданию пустого файла .keep.
Loading...
README.md

Квест разработчика

Станьте техническим лидером, уничтожайте баги и не теряйте работу.

Всё во Flutter.

Дерево исследований

Развитие игры основано на «дереве исследований» задач. Дерево определено в коде в lib/src/shared_state/task_tree, но для ясности оно также сохраняется в виде диаграммы в assets/docs. Вот PNG-файл:

Дерево задач «исследование»

Тестирование производительности

Подключите реальное устройство и выполните следующую команду из корня репозитория:

flutter drive --target=test_driver/performance.dart --profile

Это позволит автоматически запустить приложение и сохранить результаты в файлы.

  • Посмотрите файлы build/walkthrough-*.json для подробных сводок каждого запуска.
  • Посмотрите файл test_driver/perf_stats.tsv, чтобы сравнить последние запуски с историческими данными.
  • Запустите Rscript test_driver/generate-graphs.R (при условии, что у вас установлен R), чтобы создать графики в виде файлов test_driver/*.pdf.
  • Изучите необработанный файл данных (используемый R для создания графиков), открыв файл durations.tsv. Эти файлы содержат время сборки и растеризации для каждого кадра для каждого запуска.

Если вы хотите выполнить несколько запусков одновременно, вы можете использовать следующую команду:

DESC="my change" bash -c 'for i in {1..5}; do flutter drive --target=test_driver/performance.dart --profile; sleep 1; done'

Зачем выполнять несколько раз, когда мы получаем так много точек данных по каждому прохождению? При нескольких идентичных прохождениях можно визуально проверить разницу между запусками. Даже с графиками эти нюансы теряются в итоговых статистических данных, поэтому трудно понять, действительно ли изменение принесло улучшение производительности или нет. Выполнение нескольких раз также устраняет эффект крайне неудачного стечения обстоятельств, например, когда Android решает обновить какое-либо приложение во время теста.

Блокировка скорости процессора и графического процессора для вашего тестового устройства

Выполните следующую команду, когда ваше тестовое устройство подключено через USB.

./tool/lock_android_scaling.sh

ВНИМАНИЕ:

  • Это работает только для рутированных устройств.
  • Это работает только для Nexus 5. Особенности блокировки масштабирования отличаются от устройства к устройству. Вы можете изменить сценарий в соответствии со своими потребностями, следуя этому шаблону и документации /sys/devices/system/cpu.

Где хранить данные профилирования

Вероятно, вы не захотите проверять выходные файлы *.tsv в репозитории. Для этого выполните команду git update-index --assume-unchanged test_driver/*.tsv в корневом каталоге. Это одноразовая команда для каждой машины.

Комментарии ( 0 )

Вы можете оставить комментарий после Вход в систему

Введение

Flutter Developer Quest — это игра, полностью созданная на Flutter! Игра доступна бесплатно в App Store и Google Play. Развернуть Свернуть
MIT
Отмена

Обновления

Пока нет обновлений

Участники

все

Недавние действия

Загрузить больше
Больше нет результатов для загрузки
1
https://api.gitlife.ru/oschina-mirror/mirrors-developer-quest.git
git@api.gitlife.ru:oschina-mirror/mirrors-developer-quest.git
oschina-mirror
mirrors-developer-quest
mirrors-developer-quest
master