1

My WPF application works well on Hi-DPI display (e.g. My Yoga Pro 2 laptop, with 192 DPI display (13 inch, 3200x1800). All vector-defined GUI elements are crisp and sharp - without any explicit programming for that. Seems then WPF can pick the proper rendering DPI matching DPI of the display and automatically all is fine. As far as the program is running locally.

However, when the same application is run on remote desktop, (connection to local Virtual machine with "enhanced" desktop mode) - the application is rendered @ 96 DPI, and scaled-up twice to have proper size. The problem is that this scaling is bitmap-scaling which naturally produces blurry/pixelated appearance.

I believe that this should be plain-easy to declare something to make the app rendered "natively" with the High DPI on the RDP, without the need to scale it afterwards (by the system anyway) to make it expected size.

I tried to set in app.manifest true but, it did not solve the problem...

Any ideas ?

Btw - other applications (e.g. Windows Explorer can render on RDP at proper DPI, without later being scaled up to match natural size (note: on high DPI everything looks small if not rendered natively with high dpi).

I've isolated the problem to a blank WPF application with a mere TextBlock to display. This app, when run on RDP (Windows 10 Creators version or later) can easily be used to reproduce the problem (The text is proper size, but is bitmap-scaled (as part of the whole application scaled up)).

Thanks, Michael

Michal.Jan008
  • 135
  • 11
  • Are you using mstsc? This seems to give the notion that Remote Desktop App provides better DPI results. The other thing you may want to do is attempt to detect DPI and Resolution, then manually set the DPI to something better for the user. https://blogs.technet.microsoft.com/kimberj/2017/01/30/rdphighdpi/ – TyCobb Feb 15 '18 at 22:19
  • Hi, I think that If mstsc were giving a hint the remote session on DPI settings, this would affect all applications. The problem however is with my application only (and I assume all WPF applicatations - as blank application run into the same problem). Other applications (e.g. Windows Explorer, Edge,..etc.) work hi-DPI side-by-side with my app (running low-res, bitmap scaled). – Michal.Jan008 Feb 17 '18 at 19:44
  • From my own experience: The WPF application adapts to the resolution of the machine used to sign in to a new Windows Session via RDP, but does not adapt when signing into the same user session from a machine with different resolution. E.g: – bgx Mar 22 '18 at 13:38

0 Answers0