Bug 5273 - high dpi support
Summary: high dpi support
Status: NEW
Alias: None
Product: ThinLinc
Classification: Unclassified
Component: Client (show other bugs)
Version: trunk
Hardware: PC Unknown
: P2 Normal
Target Milestone: MediumPrio
Assignee: Pierre Ossman
URL:
Keywords: fltk
: 5791 (view as bug list)
Depends on: 7013 7014 8006 8356 6079 6980 7047 7096 7541 7911
Blocks: 7885
  Show dependency treegraph
 
Reported: 2014-09-26 16:27 CEST by Pierre Ossman
Modified: 2024-07-02 11:24 CEST (History)
5 users (show)

See Also:
Acceptance Criteria:


Attachments

Description Pierre Ossman cendio 2014-09-26 16:27:02 CEST
Modern system often have special handling for high dpi screens. Older applications are usually scaled to match applications that are dpi aware. This however doesn't look nearly as good as if it is done properly.

We should implement proper high dpi support in FLTK so that the client looks nice on these systems.

A first step might be to do a dumb scaling of most things and just render the text at the proper dpi, as that is the primary problem.
Comment 1 Henrik Andersson cendio 2016-02-16 13:56:22 CET
*** Bug 5791 has been marked as a duplicate of this bug. ***
Comment 5 Samuel Mannehed cendio 2017-09-13 16:35:48 CEST
Note bug 7047.
Comment 8 Samuel Mannehed cendio 2017-11-09 16:00:41 CET
Implementing proper high dpi support in FLTK is not trivial work. A different approach could be to abandon FLTK in favor of for example Qt (see bug 4031) which already has support for this.
Comment 9 Pierre Ossman cendio 2018-05-03 12:53:39 CEST
Some work has been done on the upcoming FLTK 1.4 branch:

http://www.fltk.org/articles.php?L1531+I20+T+P1+Q
Comment 10 Pierre Ossman cendio 2020-03-10 12:24:51 CET
This might be an interesting algorithm if we want some fancier scaling:

https://en.wikipedia.org/wiki/Directional_Cubic_Convolution_Interpolation
Comment 14 Pierre Ossman cendio 2023-02-28 12:39:11 CET
Another interesting scaling algorithm is AMD's FidelityFX Super Resolution. It is apparently freely available.

It's designed to run as a shader, though, which could complicate things.

Note You need to log in before you can comment on or make changes to this bug.