Rescaling and High DPI

Parent Previous Next

Rescaling and High DPI.

The SCRAMBLECODE IDE allows you to scale the visual appearance in two ways:


These settings are all part of the Program Options.


Text Editor Settings.

It is important to select a mono-spaced font (e.g. Courier New or a similar font) for the source code in order to get the best looking results.


However, you may not get a satisfactory result with all mono-spaced fonts. Some may have problems which are only visible under certain conditions - perhaps in High-DPI situations. You should be prepared to try out different fonts and customize the syntax coloring.


TIP: The font Courier New usually works well, but in some situations you may find a font like Consolas better suited.


Display Settings.

The IDE can be scaled by the user. It will change the size of the forms, their components and the size of the text.


When a form and its components are scaled, things may appear to be happening smoothly, but this is actually not the case:


If you scale the forms multiple times within the same session, small errors may start to accumulate and you may get a slightly distorted situation, where some components are not positioned or appearing correctly. To see the exact results of a user scaling, it can be necessary to close and restart the application.


If a certain user scaling does not perform well, try choosing a slightly bigger or smaller scaling, which may change the text to a neighboring font size.


The IDE is developed using visual components based on a nominal DPI of 96 pixels per inch, and the text on most of these components (e.g. labels, buttons etc.) is default based on the font Tahoma size 8. We refer to this as the default font for the components.


When the IDE is launched the first time, it will lookup the user preferred font used by Windows and suggest this for the default font. If this font is Segoe UI (used by most Windows programs today), scaling is adjusted to 110% as the font otherwise may appear a bit too small.


You can choose any other font as the default font, but it is usually advisable to choose a font that in size matches Tahoma pretty well, otherwise you may experience problems reading the text.


TIP: Don't select a font containing non-letter symbols (like Webdings) or you may have to delete your options file in the working directory and restart the program.


High DPI Considerations.

The SCRAMBLECODE IDE is system DPI aware. If you are using the IDE in a high DPI situation, an initial system scaling of the IDE is performed.


If a user defined scaling has been specified as well, it will be performed on top of the system scaling. We calculate the result by multiplying the system scaling and user scaling, and the calculated result is used by the IDE to scale all forms and their components correctly and adjust the icons (e.g. choosing bigger icons).


Example:

Suppose your Windows is using 144 DPI which results in a 150% system scaling, and suppose you have specified a user scaling of 120%, then the IDE will in reality be using a scaling of 180%.


A word of caution: You can't be sure a given Windows DPI setting will result in the desktop system scaling you might expect, i.e. running Windows at 144 DPI does not always result in a 144/96 = 150% system scaling of the forms. In reality the actual system scaling include other factors.


If you need to target a specific scaling, that is different from the system scaling, you can raise or lower the user scaling accordingly. However, it is not allowed to scale below the equivalent of 96 DPI, as some components might start to overlap. This means the result from multiplying the system scaling and user scaling must always be approx 100% or more, or you will get an error.


TIP: If you need to use the local help file, please be aware it is presented by Windows and only responds to the scaling done by Windows, not to a user defined scaling inside the SCRAMBLECODE IDE. The same applies to a few forms made available by Windows to select files, directories, colors etc.


Multi-Monitor Setup.

The IDE does not support per-monitor scaling. When using multiple monitors based on different DPI, you may experience some minor issues with blurriness.


Depending on your particular setup, you may be able to tweak the settings and make improvements per monitor.


If this is the case, you can save and use these settings individually per monitor by working with multiple option files as exemplified next.


Example working with 3 monitors simultaneously:


Please note: