Это не совсем стандартная ситуация, когда кто-то дебажит код, чтобы понять в чем проблема. Если не сказать хуже...(всмысле это неправильно, и что-то тут уже не так)
А вот на счет профита, надо понимать, при неправильной стратегии, это бы чинили, даже простые пользователи, хотя с кровавыми мозолями и грустными глазами.
Но, зная как принимаются такие решения, я б сказал, что где-то тут есть "неопределенное" поведение, т.е. пользователь делает что-то не то, контора не при делах, хотя это не совсем дружелюбно с их стороны. Я б попробовал создать тест, показывающий проблему, и убедиться, что контора налажала...
Так что тут или glBegin и вперед низкоуровневые draw call'ы, или чего-нибудь другое.
Думаю официальный ответ был бы таким, да. При специфической проблеме, это ваши проблемы. Мы когда-то делали форк Кюта и добавляли тыщи хаков поверх, без шансов на апстрим.
И да, проблемы с производительностью могут решаться годами, а костыли, распространяться по "закрытым" каналам связи.
Кажется, там все сложнее. И да, насколько помню, когда-то лимит был 30 фпс, потом 60, и уже надеюсь такой хардлимит убрали. И разные платформы реагируют по-разному, обычно гуи и мейн тред совпадает, но бывает и нет. Но думаю есть идея, что блокировать мейн тред, когда гуи рисуется - это дизайн, и могут сказать, что не стоит расчитывать на ускорение рисования, переводя сам рендеринг в отдельный поток.
Оно работает нормально, только нельзя уничтожать QAudioDecoder.
О, это называется повезло. Но этот класс мертворожденный и никогда не использовался по-серьезному, он то реализован только в gst и wmf...И его благополучно удалось похоронить и не откапывать. Надеюсь не воскреснет.
Уточнение про
(API-то вроде как синхронное, хотя из доков сложно понять)
Там внутри может быть куча тредов и так, и да, такого рода АПИ как QAudioOutput, можно и нужно юзать на соседних потоках, чтобы птенциально не было прерываний. Но вот ожидать повышение производительности в таких классах как QMediaPlayer, то наверное не стоит.
Вцелом, если просто проигрывать видео, то и QtMultimedia нормально, особенно если это линукс. К тому же QtVLC сильно старый, наверное ему тяжело в QML...
В общем, если бы у меня были злейшие враги, я бы от души пожелал им стать первоклассными разработчиками кроссплатформенных Desktop приложений на C++/Qt.
Хочешь 100500 QQuickItem с автоматической обрезкой геометрии?
Это как?
Неее, это тебе надо QGraphicsScene. Там тебе и BSP-дерево, и растровое кеширование, и шрифты без глюков на масштабе, отличном от 1:1 (ох уж этот distance field).
Это про то, что если много айтемов, то виджетам таке проще хендлить?
SG_RENDER_LOOP=threaded). Который на самом деле просто тормозит GUI поток и ждет пока там отрисует фоновый. Что по факту просто медленнее чем нарисовать кадр синхронно из GUI потока.
Интересно,
This offers significant performance improvements, but imposes certain restrictions on where and when interaction with the scene graph can happen.
2. The render thread prepares to draw a new frame and initiates a block on the GUI thread.
если надо на несколько мониторов - это уже через XSendEvent с _NET_WM_FULLSCREEN_MONITORS. Ой, но ведь оно не всеми оконными менеджерами поддерживается, так что еще надо смотреть на XDG_CURRENT_DESKTOP
Если не везде реализовано, то не ясно как мейнтенеры это пропустили. - это ирония, если что. Хотя идея добавить фикс в Кют, который потенциально решает проблему правильным способом, а то, что оно не везде поддерживается оконными менеджерами, это уже не так важно. Узнаю знакомый подход.
Поэтому сейчас используется элегантное решение с выезжанием окна на 1 пиксель за границы экрана, что бы случайно не включился полноэкранный режим. Такой borderless full screen по Qt-шному.
А есть доки на эту тему?
т.е. всплывающие окна поверх полноэкрана - разрабов не озаботили. А выглядит оно так себе
Такой костыль нужен был из-за этой проблемы? Это какая платформа? Может там требовали оверлей окна, другие фреймбаферы?
(API-то вроде как синхронное, хотя из доков сложно понять)
Что-то мне подсказывает, что это не совсем так. И не следует рассчитывать, что API в других потоках будут работать. Лучше создавать и использовать их на главном, но через сигналы.
А QAudioDecoder пришлось использовать для самодельного вывода звука через QAudioOutput, по тому, что циклический вывод коротких звуков через QMediaPlayer вызывал серьезные утечки памяти с gstreamer бекендом.
Ну, скорее всего QAudioDecoder никогда и не работал, если учесть, что только wmf и gst реализовали это. И сам файл был закодированный, и нужно было его проиграть? QMediaPlayer правильный выбор тут, а утечки, это наверное было очень давно.
К сожалению не вижу, чтобы зарплату можно было поделить между супругами,
-Incomes which cannot be distributed freely — Pay and equivalent benefits
И по-норвежски конкретно про зарплату пишут:
Inntekter som ikke kan fordeles fritt — Lønn og tilsvarende ytelser
Так же в skatteetaten сказали, что нельзя разделить зарплату мужа пополам с женой и тем самым экономить налоги. Грусть.
Так статья не про то, как в хорошую компанию нанимают хороших специалистов, а про то, как компании _думают_, что они настолько хороши, что могут себе также позволить «стандартные» практики найма как для хороших компаний.
Не, но кандидаты страдают тем же, думая, что они настолько хороши, что могут себе позволить собеседоваться в хорошие компании, в надежде, что их оценять их личные качества, амбиции и желания. Чем черт не шутит.
Думаю тут стоит подчеркнуть,
Это не совсем стандартная ситуация, когда кто-то дебажит код, чтобы понять в чем проблема. Если не сказать хуже...(всмысле это неправильно, и что-то тут уже не так)
А вот на счет профита, надо понимать, при неправильной стратегии, это бы чинили, даже простые пользователи, хотя с кровавыми мозолями и грустными глазами.
Но, зная как принимаются такие решения, я б сказал, что где-то тут есть "неопределенное" поведение, т.е. пользователь делает что-то не то, контора не при делах, хотя это не совсем дружелюбно с их стороны. Я б попробовал создать тест, показывающий проблему, и убедиться, что контора налажала...
Думаю официальный ответ был бы таким, да. При специфической проблеме, это ваши проблемы. Мы когда-то делали форк Кюта и добавляли тыщи хаков поверх, без шансов на апстрим.
И да, проблемы с производительностью могут решаться годами, а костыли, распространяться по "закрытым" каналам связи.
Кажется, там все сложнее. И да, насколько помню, когда-то лимит был 30 фпс, потом 60, и уже надеюсь такой хардлимит убрали.
И разные платформы реагируют по-разному, обычно гуи и мейн тред совпадает, но бывает и нет. Но думаю есть идея, что блокировать мейн тред, когда гуи рисуется - это дизайн, и могут сказать, что не стоит расчитывать на ускорение рисования, переводя сам рендеринг в отдельный поток.
О, это называется повезло. Но этот класс мертворожденный и никогда не использовался по-серьезному, он то реализован только в gst и wmf...И его благополучно удалось похоронить и не откапывать. Надеюсь не воскреснет.
Уточнение про
Там внутри может быть куча тредов и так, и да, такого рода АПИ как QAudioOutput, можно и нужно юзать на соседних потоках, чтобы птенциально не было прерываний. Но вот ожидать повышение производительности в таких классах как QMediaPlayer, то наверное не стоит.
если ffplay не умеет, то плееры, на основе ffmpeg, тоже не сумеют. Эх, точно также и с gst. Сначало надо проверять через gst-launch...
Вцелом, если просто проигрывать видео, то и QtMultimedia нормально, особенно если это линукс. К тому же QtVLC сильно старый, наверное ему тяжело в QML...
Ну, первоклассные....они даже не обидятся.
При рендеринге? Каким деревом?
Это как?
Это про то, что если много айтемов, то виджетам таке проще хендлить?
Всмысле, надо самому писать?
Интересно,
Если не везде реализовано, то не ясно как мейнтенеры это пропустили. - это ирония, если что. Хотя идея добавить фикс в Кют, который потенциально решает проблему правильным способом, а то, что оно не везде поддерживается оконными менеджерами, это уже не так важно. Узнаю знакомый подход.
А есть доки на эту тему?
Такой костыль нужен был из-за этой проблемы?
Это какая платформа? Может там требовали оверлей окна, другие фреймбаферы?А, это винда...
Зависания были в том, что не рендерилось вообще, типа завис UI, или рендерилось черным? И useAlpha помогло? Там было много блендинга?
Что-то мне подсказывает, что это не совсем так. И не следует рассчитывать, что API в других потоках будут работать. Лучше создавать и использовать их на главном, но через сигналы.
Ну, скорее всего QAudioDecoder никогда и не работал, если учесть, что только wmf и gst реализовали это. И сам файл был закодированный, и нужно было его проиграть? QMediaPlayer правильный выбор тут, а утечки, это наверное было очень давно.
К сожалению не вижу, чтобы зарплату можно было поделить между супругами,
-Incomes which cannot be distributed freely — Pay and equivalent benefits
И по-норвежски конкретно про зарплату пишут:
Inntekter som ikke kan fordeles fritt — Lønn og tilsvarende ytelser
Так же в skatteetaten сказали, что нельзя разделить зарплату мужа пополам с женой и тем самым экономить налоги. Грусть.
Так что не обязательно, что _ниже предела ожиданий.
Не, но кандидаты страдают тем же, думая, что они настолько хороши, что могут себе позволить собеседоваться в хорошие компании, в надежде, что их оценять их личные качества, амбиции и желания. Чем черт не шутит.