LINUX.ORG.RU

с++ UI MVVM фреймворк(DirectX, Vulkan, Metal)

 , ,


1

3

Разрабатываю кроссплатформенный C++ UI с аппаратным 3D и MVVM

Уже полгода в соло пишу мультиплатформенный C++23 фреймворк для приложений с MVVM-интерфейсом и встроенной 3D-графикой.

Ссылка на страницу проекта (там цели, вин-сборка, 4K-видео и свежие скрины): https://gpu-mvvm.pages.dev/

Почему пишу тут: изначально принял решение о поддержке Linux из коробки так как вижу перспективы развития. Но исторически так сложилось что почти нет опыта использования Linux и в округе нет, активных, знакомых пользователей этой ос, а мне нужна обратная связь чтобы не понаделать того, что не нужно.

Поэтому просьба к сообществу: если у вас наболели конкретные проблемы или грабли, связанные с разработкой или поведением UI-приложений под современный Linux/Wayland — поделитесь, пожалуйста. Постараюсь учесть всё в архитектуре.

P.S. Если у кого-то вызовет гнев то, что пишется своё при живом Qt (и других хороших системах) — не расстраивайтесь и проходите мимо(возможно просмотр страницы проекта сможет ответить на Ваши вопросы). Как говорит шеф: свой велосипед ближе к телу :)

C++ UI с аппаратным 3D и MVVM

пожелание, чтоб в случае отсутствия в моменте нормального драйвера оно умело автоматически переключаться на неускоренный, но гарантированно рабочий рендренинг (не важно с какой скоростью, хоть пол-FPS).

Это нештатная ситуация в длительной перспективе, но абсолютно штатная в моменте. Например один ПК сломался, и временно переставили диск в другой где оборудование сильно старее/новее и работает только неускоренный вывод на основе унаследованного от efi фреймбуфера (в случае linux simpledrm, в случае windows «стандартный видеоадаптер»)

То что в такой момент не запустится игрушка - нормально. А вот если привычная программа без подпрыгиваний перестанет работать - будет крайне неудобно. И виноват может быть UI-фреймворк

GPFault ★★★★
()
Ответ на: комментарий от CrX

Проприетарный фреймворк без исходников никому (гипербола, хотя не удивлюсь, что прям буквально никому кроме автора) на Линуксе не интересен даже при наличии каких-то преимуществ

Он может быть интересен при создании кроссплатформенной проприетарщины. На Unity же пишут и довольно много, и на Linux потом пользуются вполне. Но на Unity писать UI - это боль.

Я к тому, что Linux это не только открытый софт, но и заказные решения в том числе. Я как проприетарщик злостный(ага, на работе работу приходится работать), мог бы вполне выбрать для какого либо проекта такой фреймворк в будущем. Мне(как разработчику) кроссплатформа обычно важнее открытости, софт ведь всё равно потом закрытый работодатель продавать будет. А покупателям фреймворка обычно код предоставляют всё же.

Loki13 ★★★★★
()
Последнее исправление: Loki13 (всего исправлений: 2)
  • Markdown
Пустая строка (два раза Enter) начинает новый абзац. Знак '>' в начале абзаца выделяет абзац курсивом цитирования.
Внимание: прочитайте описание разметки Markdown.
Используйте Ctrl-Enter для размещения комментария