mirror of
https://github.com/quasar/Quasar.git
synced 2026-04-25 23:35:58 +03:00
[GH-ISSUE #423] RDP showing small fraction (upper left) of screen. #214
Labels
No labels
bug
bug
cant-reproduce
discussion
duplicate
easy
enhancement
help wanted
improvement
invalid
need more info
pull-request
question
wont-add
No milestone
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set.
Reference
starred/Quasar#214
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Originally created by @deebug on GitHub (Feb 25, 2016).
Original GitHub issue: https://github.com/quasar/Quasar/issues/423
Originally assigned to: @MaxXor on GitHub.
A desktop with an UHD resolution can't be viewed in its entirety which renders remote administration useless. It shows the top left part of the screen.
This could be either a scaling issue (not showing the entire desktop) or a screen-grabbing issue (not streaming the entire desktop)
OS: Windows 10 Pro 64 bit
Version: 1.2.0.0
@MaxXor commented on GitHub (Feb 25, 2016):
Sadly I don't have a monitor which supports UHD resolution to figure out the issue. :(
@yankejustin commented on GitHub (Feb 25, 2016):
Neither do I. Hmmm...
@deebug commented on GitHub (Feb 27, 2016):
Mouse input is scaled correctly. So the true dimensions are known but somehow the bitmap doesn't reflect that. I'll use a debug build and try to figure this one out myself. I'll keep you posted, eta hopefully during next week.
@deebug commented on GitHub (Feb 29, 2016):
Windows 10 handles DPI scaling a bit differently.
I've learned that with e.g. a global 125% DPI setting the
Screen.AllScreens[monitor].Boundsreturns a bogus resolution. So this is not the the fault of the ultra-hight resolution (I did assume that at first).In my test setting, using a Windows 10 machine with a global 125% DPI scaling, the bounds return 1280x720 while the actual resolution was 1600x900.
Creating a graphics instance from the current form and get
dpiXanddpiY? No luck, always 96 DPI.Option 1, not favorable: One could get the real DPI in a rather difficult way
Source
Using the scaling-factor, one can easily calculate the actual width and height.
Option 2, my favorite: Make the client application DPI aware
This fixes the screen bounds without changing code. How? By adding this to your
app.manifest:Since the Client isn't really and end-user GUI experience (except for a dialog window) this results in little or no strange GUI scaling issues when the client uses DPI scaling.
To keep this excellent piece of software future proof (high DPI Windows tablets, UHD screens) you probably should look into this issue.
You can find more information about DPI and all it's perils here. A big thanks to Christoph Nahr for his thorough and very comprehensive documentation concerning this issue.
Now then. I'm no expert and I know little about Mono build compatibility but option 2 sounds like a viable solution.
@MaxXor commented on GitHub (Feb 29, 2016):
Yes, Option 2 sounds very good. I'll add this.