Before this change, the QPainter-based canvas will render in the "logical pixel" size, e.g. zoomed in 200% when dpi scale factor is 2x, which causes the canvas to render all blurry.
After this change, the QPainter-based canvas will render in the device pixel size. This does not change the existing view scaling, which means with a dpi scale factor of 2x, setting a scale level of 50% will result in a pixel-perfect canvas render, while 100% will be effectively 200%.
I would assume this works on Linux, but somebody should test this on OS X with a retina display...