Blurry font text on higher resolution monitors with scaling set greater than 100%

When a PB application is running on a 4K or 8K monitor with Windows DPI greater than 100%, you will see fuzzy font text. Different monitors and OS DPI settings will result in different display effects.

Cause

This is due to a difference when an application developed on a low resolution monitor is used on a high resolution monitor with OS DPI setting.

Solution

You can try the following methods to optimize this issue.

1. Change your current application font to a high resolution font.

For example, you can change the default font from Tahoma to Segoe UI. Font size 10 or larger is recommended.

2. Add a manifest file and modify the associated settings.

You can choose "External Manifest" in the security tab when generating the executable file.


It will generate in the exe folder a file named <applicationame>.exe.manifest. You can add the content below into the generated manifest file:

<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<assembly xmlns="urn:schemas-microsoft-com:asm.v1" manifestVersion="1.0" xmlns:asmv3="urn:schemas-microsoft-com:asm.v3">
  <asmv3:application>
    <asmv3:windowsSettings>
      <dpiAware xmlns="http://schemas.microsoft.com/SMI/2005/WindowsSettings">true</dpiAware>
      <dpiAwareness xmlns="http://schemas.microsoft.com/SMI/2016/WindowsSettings">PerMonitorV2</dpiAwareness>
    </asmv3:windowsSettings>
  </asmv3:application>
</assembly>

For more information, refer to https://docs.microsoft.com/en-us/windows/win32/hidpi/high-dpi-desktop-application-development-on-windows?redirectedfrom=MSDN.

This is our test result (before vs after) applying the solution: