Я портирую старое приложение 4.8 на 5.2.1 и в то время я использовал QImage для рендеринга некоторых необработанных данных на экране, в QLabel.
Я снимаю изображения с камеры, поэтому хочу отображать эти изображения в режиме реального времени. До сих пор, с QImage, я достигаю более 20FPS (камера способна захватить 30 FPS).
Мне интересно, будет ли рендеринг этих данных в OpenGL (возможно, в новом приложении QML Quick / Qt Widgets) быстрее, чем в настоящее время разработанный метод?
Имея в виду следующие предположения:
Вы можете добиться лучших результатов, используя OpenGL. QImage по-прежнему должен хранить данные как в памяти, так и в графическом процессоре, то есть при обновлении QImage требуется как минимум одна дополнительная копия. С OpenGL вы можете копировать данные непосредственно в память графического процессора, и вам не нужно хранить данные где-то в памяти.
Однако то, что может быть оптимальным для одного графического процессора, не обязательно должно быть оптимальным для другого. Итак, если вы реализуете что-то, что должно работать на различном оборудовании, я бы посоветовал перейти на QImage.
Но, как сказано, единственный способ — это реализовать и измерить.
Других решений пока нет …