Это большие изображения, поэтому они всегда будут занимать некоторое время, но вы можете ускорить rgbSwapped, выполнив его на rvalueref, например так:
img = std::move(img).rgbSwapped();
Один хак, который вы можете попробовать, если ваш вводRGB32 использует QImage :: reinterpretAsFormat (QImage :: RGBX8888).Это будет на архитектурах с прямым порядком байтов (x86 и современный ARM) делать то же самое, что и rgbSwapped (), но не касаясь ни одного пикселя.Хотя подпрограммы, рисующие его, будут менее оптимизированы: /
Наконец, rgbSwapped для форматов, отличных от RGB32, значительно оптимизирован в Qt 5.12 или 5.13 (не помню, где он приземлился)