Is not it possible that you have some issue in your code, like using SetLineCy or some custom Displays? AttrText?
In both case I use SetLineCy and custom Display.
I have not a Surface machine. I'll try to do a short program showing the issue.
Thanks,
Luigi
Well, those numbers with SetLineCy etc... are absolute number of pixels. They should always be scaled. You can scale with Zx / Zy (for zoom X or zoom Y) - this scales based on size of standard font and should therefore take care about HDPI displays.
Alternative is using DPI - this simply multiplies the argument by 2 if running on HDPI. Better for image related work.
Also note that .iml images can be scaled automatically, if they are set correctly - Image can be marked as normal DPI (and is then automatically upscaled in HDPI), or can be marked HIDPI (and is eventually downscaled), or is "no resolition" and left intact.