Canvas2D позволяет разработчикам рисовать интерфейсы и 2D-визуализации из QML и JavaScript на GPU. Новый элемент доступен в Qt 6.12 как экспериментальная версия.— Читать дальше «В Qt 6.12 появился Canvas2D для GPU-отрисовки из QML и JavaScript»
В Qt 6.12 Canvas2D появился как экспериментальная версия. Это QML-элемент для разработчиков интерфейсов и 2D-визуализаций, который позволяет рисовать с помощью JavaScript. Элемент использует Qt Canvas Painter и рисует через QRhi прямо на GPU, тогда как Qt Quick Canvas задействует QPainter на CPU, а затем загружает результат в текстуру.
API основан на знакомой веб-разработчикам модели HTML Canvas. Существующий код Qt Quick Canvas во многих случаях можно перенести, подключив модуль QtCanvas2D и заменив Canvas на Canvas2D. Преимущество Canvas2D должно быть особенно заметно для анимированных графиков, волн, индикаторов и других больших холстов.
Совместимость пока неполная: среди отсутствующих возможностей есть пунктирные линии, фильтры, операции с пикселями и обрезка по произвольному контуру. Зато доступны кэширование путей на стороне GPU, регулируемое сглаживание, тени, сеточные узоры и дополнительные цветовые эффекты.
В тесте автора публикации одинаковый JavaScript-код при 16-кратной отрисовке набрал 4 FPS на Qt Quick Canvas и 165 FPS на Canvas2D. Результат получен на одном ноутбуке, поэтому Qt предлагает проверить производительность на целевом оборудовании с помощью примера Canvas 2D Tester.
Разработчикам пока стоит учитывать риск изменений: Qt не гарантирует совместимость исходного и бинарного кода Canvas2D. При этом C++ API Qt Canvas Painter в Qt 6.12 уже вышел из статуса экспериментальной версии.
Источники| # | Наименование новости | Тональность | Информативность | Дата публикации |
|---|---|---|---|---|
| 1 | Qt Canvas Painter: Accelerated performance using paths | 0 | 5 | 24-06-2026 |
| 2 | Qt for MCUs 2.12.2 LTS Released | 0 | 5 | 09-07-2026 |
| 3 | Introducing the Qt Project CMake Skill for AI Agents | 0 | 5 | 22-06-2026 |
| 4 | pnpm 12.5 расширил поддержку Python и добавил Package URL и общие лимиты задач | 0 | 6.41 | 19-09-2026 |
| 5 | В графическом драйвере AMDGPU для Linux появилось первое упоминание видеопамяти GDDR7 | 0 | 20.53 | 22-09-2026 |
| 6 | Как я устал от CVAT и в соло написал десктопный инструмент для авторазметки датасетов на PyQt5 | 0 | 9.01 | 01-07-2026 |
| 7 | QwenCloud выпустила HappyOyster Adventure для генерации интерактивных открытых миров | 0 | 7.89 | 20-09-2026 |
| 8 | OpenAI Node SDK 7.20.0 получил управление внешними хранилищами и новые события безопасности | 0 | 7.2 | 20-09-2026 |
| 9 | /tmp кончился — пишем виджет для qtile с предсказанием по тренду | 0 | 8.01 | 28-03-2026 |
| 10 | Qhull_rayon v0.1.0 | 0 | 10.4 | 11-08-2026 |