Tests slow because High cpu using Headless chrome with version 87

When I run tests without using headless chrome, the tests take on average 40-50 seconds. When I run the tests using headless chrome it takes a lot longer (190 seconds on average). I'm using chromedrivermanager which runs on 87.0.4280.20.

The browser class without using headless:

 private String baseUrl = ConfigHandler.getPropertyValue("url");
private WebDriver driver;

public Browser() {
    WebDriverManager.chromedriver().setup();
    Map<String, Object> prefs = new HashMap<>();
    ChromeOptions chromeOptions = new ChromeOptions();

    String FilesPath = System.getProperty("user.dir") + File.separator + SeleniumUtilities.getDownloadsPath();
    prefs.put("download.default_directory", FilesPath);
    chromeOptions.setExperimentalOption("prefs", prefs);
    this.driver = new ChromeDriver(chromeOptions);
    this.driver.manage().window().maximize();
}

Browser class using headless chrome:

 private String baseUrl = ConfigHandler.getPropertyValue("url");
private WebDriver driver;

public Browser() {
    WebDriverManager.chromedriver().setup();
    Map<String, Object> prefs = new HashMap<>();
    ChromeOptions chromeOptions = new ChromeOptions();

        System.out.println("working on server");
        chromeOptions.addArguments("--window-size=1400,900");
        chromeOptions.addArguments("--headless");
        chromeOptions.addArguments("--no-proxy-server");
        chromeOptions.addArguments("--proxy-server='direct://'");
        chromeOptions.addArguments("--proxy-bypass-list=*");
    

    String FilesPath = System.getProperty("user.dir") + File.separator + SeleniumUtilities.getDownloadsPath();
    prefs.put("download.default_directory", FilesPath);
    chromeOptions.setExperimentalOption("prefs", prefs);

    this.driver = new ChromeDriver(chromeOptions);

}

Any Ideas?

EDIT: I noticed in headless chrome the cpu get really high, unlike without using headless. Why the cpu so high when running in headless?