Qt application performance gets low after the display is rotated left.
root@apalis-imx6:~# xrandr -o left
In normal display, the application draws line. And /usr/bin/X consumes 23.3% of CUP resource. The Qt5.5 application uses around 74% of CUP. After the display is rotated. /usr/bin/X consumes up to 65% of CUP resource. And the Qt application performance also gets lower.
Not sure how X does rotation here, it could be doing it in software (CPU rotates the whole framebuffer)… This probably also depends how Qt and X11 interact. In general it is not a good idea to do rotation in a lower layer. The display always will need the pixels supplied in horizontal lines, hence somebody needs to rotate the framebuffer. And rotating a framebuffer is an expensive operation, especially for higher resolution (19201080 4 Bytes… per Frame!). Even if there is hardware support for the actual rotation, it would still require a lot memory bandwidth and hence affect the overall system performance.
So the best thing is if the framebuffer does not need to be rotated at any time. Instead, just let the application on top render it in a rotated manor. With Qt 5 and Qml 2 this is actually very easy to do: Just add a transformation at the very top. I recently created a small proof of concept: