When dragging windows in the macOS client we get an ugly "rubberband effect", meaning that the window lags behind the cursor. It's easier to see if you are using the high-dpi scaling mode.
It seems to have gotten worse after bug 6079 was implemented.
Note that running vncviewer in non-high DPI mode seems to help a bit:
Right-click the ThinLinc client and choose "Show package contents". Navigate to "Contents/lib/tlclient" and right-click vncviewer. Choose "Show info" and check "Open in low resolution".
I think this is just a general graphics performance issue. hidpi means having to shuffle four times as many pixels, and perform extra calculations on those pixels as well.
It seems the window manager is more efficient at scaling than the APIs we're using though. Or it is just easier to scale the entire window rather than parts of it.
We've deciced to revert bug 6079.
I tried to find a way to change the default but still allow users to enable high resolution if they wanted. Unfortunately I could not find a combination of settings to achieve this, so things are now back to being unconditionally low resolution.
Other than that the observed issues seem to be gone.
This is a pain to test since macOS for some reason is caching the Info.plist files.. A system reboot doesn't even reload the updated Info.plist values. Only safe way I found to accomplish this is to rename the application (mv ThinLinc\ Client.app tlclient5584.app).
I am also not seeing the desired performance improvements from disabling High DPI in the ThinLinc client. Will investigate further.
(In reply to comment #10).
> I am also not seeing the desired performance improvements from disabling High
> DPI in the ThinLinc client. Will investigate further.
So this is wierd. We are now seeing the opposite of the expected behavior. The the situation is that the "rubberband-effect" did actually get worse after the revert. So we have to decide what to do next. To sum it up:
High DPI enabled:
+ pretty text in tlclient window and options
+ smaller rubberband effect
High DPI disabled:
+ No small graphical glitches
(In reply to comment #11)
> High DPI disabled:
> + No small graphical glitches
One more advantage of High DPI disabled:
+ Uses less CPU on client machine
When furiously dragging a window around inside a session the client process uses around 20% of the CPU available on our macOS 10.12 machine in the lab.
When doing the same using the 4.8.0 client (High DPI enabled) the client process uses around 80% of the CPU available on the same client machine.
We've decided to stay in "lo-dpi" mode for now.
I can verify that both tlclient and our vncviewer have forced Lo-DPI mode now.