v4.8.9¶
v4.8.9 — это выпуск, посвящённый эффективности в режиме простоя и надёжности отключения, построенный на Qt Creator 14.0.2. Он переработывает то, как IDE отслеживает оборудование, чтобы оно прекращало опрос, когда ничего не происходит, оптимизирует путь подключения/отключения и очищает встроенный набор моделей. В этом диапазоне нет смены базовой версии Qt Creator, но несколько значений поведения по умолчанию и имён встроенных моделей изменились, поэтому ознакомьтесь с критическими изменениями ниже.
Основные изменения¶
Событийно-управляемый мониторинг оборудования заменяет непрерывный опрос устройств: IDE теперь останавливает таймеры сканирования в режиме простоя и повторно сканирует последовательные порты и накопители только в ответ на реальные события подключения/отключения USB и монтирования/размонтирования дисков, что существенно снижает нагрузку на ЦП и потребление ресурсов в режиме простоя.
Таймеры простоя привязаны к активности: таймер событий буфера кадра (ранее срабатывавший каждую 1 мс) теперь работает только при наличии подключения, а таймер мигания курсора терминала (500 мс) теперь работает только когда терминал в фокусе.
Фоновая синхронизация импорта отключена по умолчанию: автоматическая синхронизация папок импорта
ExamplesиDocuments/OpenMVтеперь отключена, а её переключатель в меню скрыт, поэтому IDE больше не сканирует эти папки непрерывно.Более быстрое и надёжное отключение: последовательный порт закрывается и камера освобождается немедленно, тайм-ауты протокола уменьшены, а зависшая камера теперь восстанавливается вместо зависания.
Более понятная кнопка режима буфера кадра, которая показывает
JPG ModeилиRAW Mode, чтобы текущее состояние сжатия было очевидно с первого взгляда.
Новые возможности¶
Нативный мониторинг событий оборудования через новый
HardwareMonitor, который генерируетhardwareEventDetectedс использованием IOKit и DiskArbitration на macOS, окна только для сообщенийWM_DEVICECHANGEна Windows и netlink-сокетаNETLINK_KOBJECT_UEVENTна Linux. Таймеры сканирования последовательных портов и накопителей теперь привязаны к 10-секундному окну сканирования, которое перезапускается при каждом событии (a6612fec9, 462b55f7b, 17c2e93c7).
Другие изменения и улучшения¶
Таймер обработки событий буфера кадра (ранее срабатывавший каждую 1 мс) теперь запускается при подключении и останавливается при отключении, а таймер мигания курсора терминала (500 мс) теперь запускается и останавливается при получении и потере фокуса терминалом вместо постоянной работы (a02afea53).
Автоматическая синхронизация папок импорта
ExamplesиDocuments/OpenMVотключена по умолчанию, а переключатель скрыт; таймеры сканирования папок больше не запускаются при инициализации и работают только когда (теперь скрытое) действие включено (478f83e97).Кнопка переключения формата буфера кадра теперь показывает
JPG Mode, когда сжатие JPEG включено, иRAW Mode, когда оно выключено (c48831224).При подключении IDE теперь всегда применяет предпочтительное для платы значение JPEG для буфера кадра вместо восстановления ранее сохранённого для каждой платы выбора JPG/RAW (c48831224).
Исправления ошибок¶
Отключение теперь закрывает последовательный порт и освобождает камеру (и порт) непосредственно в
close(), что делает отключение более быстрым и надёжным (1e8941080, 9d31bcf80).Таймер простоя последовательного порта теперь останавливается, а флаг протокола v2 сбрасывается при закрытии порта, что исправляет устаревшее поведение таймера простоя после отключения (4bd2fd9ea).
Тайм-ауты команд протокола были настроены (тайм-аут открытия снижен с 5 с до 2 с, для повторной синхронизации и
CHANNEL_SIZEиспользуется короткий тайм-аут в 1 с), и каждая последовательная команда теперь освобождает объект камеры при сбое, поэтому зависшая камера восстанавливается и отключается быстрее вместо зависания (04aa6aea3).Исправлена проблема блокировки/зависания при остановке скрипта: событие остановки скрипта теперь также очищает состояние событий кадра и сбрасывает таймеры готовности кадра (3695b0704).
Протокол теперь допускает короткие чтения с камеры, возвращая частичные данные или текст вместо их отбрасывания или выдачи ошибки (0c8ccd58e).
Поддержка платформ и инструментов¶
Базовая версия Qt Creator: 14.0.2.
Платы, сочетающие модуль AE3 или N6 с датчиком PAG7936 или PS5520, теперь получают более высокое значение QVGA по умолчанию (ранее только AE3 + PAG7936), поэтому затронутые примеры автоматически повышаются с QQVGA до QVGA (fcc0c3227).
Встроенный набор моделей оценки позы ST MoveNet был очищен: избыточные варианты с потензорной квантизацией (
_pt) и дублирующиеся варианты singlepose/st_movenetбыли удалены, а сохранившиеся модели с поканальными тепловыми картами переименованы вmovenet_singlepose_192,movenet_singlepose_224иmovenet_singlepose_256(18f66c4c1).Из набора моделей удалена встроенная модель семантической сегментации DeepLabV3 и её ресурсы примеров (a929e0dc1).
Критические изменения¶
Видимые для пользователя изменения поведения и встроенных ресурсов между v4.8.8 и v4.8.9.
При подключении буфер кадра теперь всегда использует предпочтительное для платы значение JPEG по умолчанию и игнорирует любой ранее сохранённый для каждой платы выбор JPG/RAW (c48831224).
Фоновая синхронизация папок импорта
ExamplesиDocuments/OpenMVотключена по умолчанию, а её переключатель скрыт (478f83e97).Несколько встроенных моделей были удалены или переименованы: модель семантической сегментации DeepLabV3 убрана, а модели ST MoveNet были очищены и переименованы в
movenet_singlepose_192/224/256. Скрипты, ссылающиеся на старые имена файлов моделей, необходимо обновить (a929e0dc1, 18f66c4c1).