Душераздирающее о Qt

Я на это уже жаловался, но в фейсбуке, а не тут.

Но просматривая сегодня Qt mailing lists/development не смог пройти мимо:

Несчастный пользователь пишет:

I'd like to point out how badly this issue has been handled. It's been reported on February 2016 and marked as P4.To me, it seems a nonsense to ignore issues like this, especially now that Qt3D offers a lot of possibilities and sooner or later you might need to switch your app to core profile.

И действительно, смотрим в QTBUG-51064:

  • Created: 11 февраля 16 года
  • Версия 5.5.1 - вот тут вероятно засада, в 16-м вовсю пилили 5.6, но еще недопилили, но все силы были уже там
  • Ну и да, до сих пор недочинено.

С моими багрепортами - история, впрочем, еще хуже. Тут давеча робот мне прислал писем "поскольку все очень старое - я все закрываю, прощевайте", про несколько багов оптом. Так и таскаем патчики с собой.

Надо сказать, что место которое порепорчено (про OpenGL core profile) - оно изначально какое-то нездоровое. Первая презентация от KDAB про 'Modern OpenGL in Qt' датирована  мартом 2013-го года и написано там про Qt 5.1. Реально же, когда я захотел Modern OpenGL в Qt в версии 5.6 (выпущенной в марте 2016-го), выяснилось что нет, не работает (в том месте, где мне было надо: QGraphicsView), но можно сбэкпортить здоровый патч из Qt 5.9 (2017-й год) и тогда нужное мне - заработает.

Вот в случае с QTBUG-51064 история похожая, только хуже, скоро уже 2019-й год, а использовать QtMultimedia + OpenGL CoreProfile (т.е. к примеру Qt 3D) пока еще нельзя, как минимум на маке.

P.S. А, да, в фейсбуке мне тогда написали, что покупка лицензии за деньги проблему (более быстрых) багфиксов не решает.

P.P.S. При этом, ежики плачут, колются, используют, вариантов то нет.

Comments

wxWidgets совсем никак супротив QT?

Я не готов сравнивать предметно т.к. с wxwidgets знаком только по их документации.

По документации - та же поддержка OpenGL очень бедная и ничего похожего на Qt-шную (где есть из коробки GL ES over DirectX ну и вообще все поддерживающие классы) там нет.

Ну и вообще, документация то небогатая.

На самом то деле, если вернуться к исходной баге: она приводит к невозможности использовать OpenGL core profile при использовании Qt Multimedia.
А core profile нужен
а) на маке чтобы получить всякие плюшки OpenGL 3 и выше (если на маке выбрать compatibility profile, то строго OpenGL 2.1, на винде не так)
б) Ну и вот для Qt3D к примеру

Так вот, в рамках wxWidgets даже и вопроса такого нет, там нет аналога QtMultimedia работающего через OpenGL

wxWidgets это нездоровая копия парадигм MFC в кроссплатформенном фантике. QT при всех своих недостатках намного лучше особенно если нужна работа под Мак и Windows.

> ежики плачут, колются, используют

Но если OpenGL не нужен, то JS всех пожрал. Веб, или Электрон..

Ну это пока не захочется странного. К примеру (стреляю наугад) PTP/MTP. Из native-программы можно сходить к native API, вот просто взять и сходить, а из JS - утомишься (ну то есть пойдешь и сделаешь bindings свои, да).

Или вот "media change detection" (или не detection, а просто флешку размонтировать). Какой нахрен электрон?

Для простых задач, которые ничего такого не предполагают - ну да, в известной степени да.

FastRawViewer про скорость, c JavaScript ему не по пути.
См. например, https://www.reddit.com/r/programming/comments/612v99/vs_code_uses_13_cpu...

Надо сказать, что вот утилизация 18 ядер (36 с HT) оказалась некоей проблемой, которую по переписке не решили.

Дело идет к socket 2066

Это где, простите за возможно глупый вопрос?

Где что? Не удалось нагрузить 18 ядер? У пользователя, утилитой SonyPixelShift2DNG, но у FRV будут те же проблемы, без модификаций он 18 (36) ядер не выжрет.

А где ограничение?

«которую по переписке не решили.»

Если есть разговор о модификации, без которой работать не будет -- можно предположить, что есть evaluation.

Не, нету, надо пихать в профайлер и смотреть где тормоза. Но evaluation - весь многотредный механизм переделывать (на, к примеру, TBB)

Ну вот хрен пойми. Медленный очень между-thread-ный IPC (signal-slot, естественно).

Я тебе больше скажу — OpenGL доступен из Электрона. Прямо в JS. Как ты думаешь Unity в браузере работает?

вообще да, WebGL же есть

Ну не OpenGL, это WebGL со своими чудовищными тараканами.

флешка тоже не самый частый зверь в эпоху онлайн и сервисов. Так, систему переставить с образа :)