It seems that some apps totally don't get it how to behave with high-dpi screens. In my case webstorm is one of the worst offenders (and I expect all others from storm family to have that issue); perhaps that's java's "inherited" problem or even Win10's failed handling on high DPI displays. So, here's a few things that I noticed that doesn't work properly with webstorm. In my setup I have a remote desktop pc that's physically attached to a 4K high DPI screen. I connect remotely using mstsc to that pc, and computer that I'm using to connect from has a regular screen.
In this setup there are two possible combination when I login: (1) if I was already logged in on that remote pc and effectively RDP attaches me to existing login session, or, (2) if I wasn't logged in remotely and new session is created when I log in using RDP. Behavior that I get is quite different with WebStorm in these two scenarios. First or all, I expect identical outcome in (1) and (2), but perhaps it's Win10's issue that result isn't the same. Since I'm connecting from regular display I also expect the same behavior as if I was physically attached with that non-high DPI screen.
I'll attach here's screenshot for (2), in (1) it's not as bad.
PS. I also added relevant post on MS forums: Fail: handling of high-DPI/4K monitors in Win 10