Note: Advice in this article is only necessary for DotNetBrowser 1.

DotNetBrowser recognizes device scale factor that is used in environments with HiDPI displays and renders HTML content corresponding to that scale factor.

DotNetBrowser supports HiDPI displays on a PC or Windows 8/8.1/10 notebooks.


However, if your application is DPI-unaware, this may lead to rendering issues in the heavyweight rendering mode because Chromium rendering processes are DPI-aware. As a result, you can see black rectangles and misplaced or partially corrupt picture of the web page.


The screenshot below demonstrates the possible rendering issues in this case:



This issue is not reproducible if the control works in the lightweight rendering mode.


The possible solution here is to make your application DPI-aware.


There are several approaches to make your application DPI-aware, and one of them is demonstrated in the WinForms Chromium demo application (see Samples/WinForms.Demo/MainForm.cs for more details):

C#

public partial class MainForm : Form
{
    [DllImport("User32.dll")]
    public static extern int SetProcessDPIAware();

    //...

    public MainForm()
    {
        SetProcessDPIAware();
        InitializeComponent();
        //...
    }

 //...
}

VB.NET

Public Partial Class MainForm
    Inherits Form

    <DllImport("User32.dll")>
    Public Shared Function SetProcessDPIAware() As Integer

    '...

    Public Sub New()
        SetProcessDPIAware()
        InitializeComponent()
        '...
    End Sub

    '...

End Class


A couple of links for further information:


http://stackoverflow.com/questions/4075802/creating-a-dpi-aware-application

https://msdn.microsoft.com/en-us/library/windows/desktop/dn469266(v=vs.85).aspx